Я знаю, что этот пользователь уже решил свою проблему, но для тех, кто ищет ответ. Этот пост не идеален, но он укажет вам, что вам нужно для решения этой проблемы.
С asp.net GetMachineStoreForAssembly, кажется, работает в большинстве случаев, и это, вероятно, желаемый режим при использовании изолированного хранилища из веб-приложения. Потому что даже если вы используете GetUserStoreForAssembly, он будет изолирован учетной записью пользователя, работающей с приложением asp.net, и всегда будет одинаковым для каждого пользователя веб-сайта, если только вы каким-то образом не сопоставляете каждое имя входа с пользователем Windows (о, если вы делая это, тогда это будет работать).
Проблема заключается в том, что вы пытаетесь использовать GetUserStoreForAssembly, потому что ему нужен пользователь с правами на изолированное хранилище, а пользователь IIS по умолчанию для приложений не получает прав на это, я думаю.
Есть 2 решения:
использовать GetMachineStoreForAssembly
Если вы должны использовать GetUserStoreForAssembly, установите приложение для запуска от имени пользователя с правами. Это не решается правами доступа к папкам. Существует несколько способов настройки безопасности. (IIS7) Вы можете установить его в пуле приложений, или в разделе основных настроек> Подключиться как, или в разделе Аутентификация> Анонимная аутентификация. Я не уверен, какие именно права нужны пользователю, но это поможет вам двигаться в правильном направлении.
Вот некоторый бонусный код, который может помочь вам выяснить вашу проблему:
Dim storageFile As IsolatedStorageFile
If Request("storage") = "user" Then
storageFile = IsolatedStorageFile.GetUserStoreForAssembly()
Else
storageFile = IsolatedStorageFile.GetMachineStoreForAssembly()
End If
Response.Write(storageFile.GetType.GetField("m_RootDir", Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.Instance).GetValue(storageFile).ToString())
GetUserStoreForAssembly находится здесь:
C: \ Documents and Settings \ Gabe \ Локальные настройки \ Данные приложения \ IsolatedStorage \
GetMachineStoreForAssembly находится здесь:
C: \ Documents and Settings \ Все пользователи \ Данные приложения \ IsolatedStorage \