2010-07-08 2 views
0

Моя проблема заключается в следующем:Изолированные файла для хранения экономии на умолчанию профиля пользователя для веб-службы

У меня есть окна приложения, которое хранит файл на изолированном хранилище текущего пользователя, позволяет называть этот пользователь Адам.

На том же компьютере у меня есть веб-сервис (пул приложений веб-службы работает с учетными данными Адама), который использует одну и ту же DLL для доступа к файлу на изолированном хранилище, но пытается получить доступ к файлу пользователя по умолчанию вместо профиля реального пользователя (в данном случае Adams Profile)

Почему он пытается найти файл в профиле пользователя по умолчанию Вместо профиля Адама? Как я могу заставить его искать файл в нужном профиле ?.

Я бегу это на Win 2003, C# и платформы .NET 3.5

Спасибо.

+0

Я выполняющей этот код на другом потоке, если я запустить его на главном потоке, кажется, работает хорошо. – DkAngelito

ответ

1

AS i был запущен код в другой цепочке, которые не установлены для этого потока, поэтому все, что мне нужно сделать, это олицетворять личность потока main и это работает. Он должен выглядеть как этот

using (System.Security.Principal.WindowsIdentity.GetCurrent().Impersonate()) 
    { 
     //Consult the isolated storage here 
    } 
+0

Да, раньше у меня была аналогичная проблема, используя потоки в ASP.NET. Хорошее решение - я никогда не видел этого использования «использования» раньше. – harpo