ASP.NET пользовательский профиль объект профиля не удается после перехода на развертывание MSBUILD

StackOverflow https://stackoverflow.com/questions/5314943

Вопрос

У нас есть приложение Web Forms ASP.Net 2.0, которое раньше было развернуто с помощью проекта по развертыванию веб -развертывания. Недавно мы развернули новую версию, созданную TFS/MSBuild, и изменения, по -видимому, вызвали проблему с десериализацией объекта пользовательского профиля.

Вот запись в нашем разделе «Профиль/Свойства» в web.config.

<add name="MyKey" type="OurApp.UserData" serializeAs="Binary" />

Это не изменилось в результате процесса сборки, а также не изменилось.

Однако, когда приложение пытается прочитать данные для данного пользователя, ничего не найдено.

Одно очевидное отличие состоит в том, что в версии веб-развертывания был создан один yourapp.dll для веб-сайта, тогда как новая версия состоит из нескольких «сборок с названием». Может ли это привести к тому, что профиль пропустит чтение свойств, хранящихся в типе Wourapp.userData?

Это было полезно?

Решение

Ответ действительно оказался именами сборки. После добавления шага aspnet_merge к процессу сборки и создания сборки старого имени все было хорошо.

Предполагается, что это указывает на то, что процедуры сериализации профиля внедряют полностью квалифицированное имя класса в бинарный объект, представляющий объект.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top