Каково различие между HttpContext. Текущий. Пользователь и Поток. CurrentPrincipal в asp.net?

Как насчет того, чтобы использовать drb? Это не реальная многопоточность, но коммуникация между несколькими процессами, но можно использовать его теперь в 1,8, и это - довольно низкое трение.

10
задан Lieven Cardoen 3 December 2009 в 22:04
поделиться

2 ответа

Самая большая разница в том, что они не обязательно должны быть одинаковыми.

Вообще говоря, HttpContext.Current.User является пользователем входа в систему (когда он вызывается в рабочем потоке), а Thread.CurrentPrincipal - идентификатор рабочего процесса.

В IIS 5.x для Thread.CurrentPrincipal по умолчанию используется ASPNET . В IIS 6 и выше для Thread.CurrentPrincipal по умолчанию используется Network Service (или удостоверение пула приложений, на которое вы меняете).

Чтобы усложнить задачу, если вы включите олицетворение ASP.NET, тогда они оба могут быть такими же, как и зарегистрированный пользователь.

Попробуйте прочитать несколько действительно хороших книг по этой теме и статей Microsoft MSDN,

http://msdn.microsoft.com/en-us/library/ms998351. aspx

Еще одно предложение - использовать отладчик для подключения к рабочему процессу и проверки их во время выполнения. Это может дать вам лучший обзор.

Обратите внимание, что HttpContext.Current.User не лучший способ запроса идентификация пользователя входа в систему. Вы должны придерживаться Page.User для веб-форм и Controller.User для MVC и ApiController.User для веб-API.

12
ответ дан 3 December 2019 в 23:13
поделиться

Еще одно большое отличие состоит в том, что ваш код не всегда имеет доступ к HttpContext. (Например, если у вас есть весь ваш BL в сборке, которая может или не может использоваться из веб-приложения) Хотя эти две учетные записи пользователей могут быть разными, если вы используете Thread.CurrentPrincipal, тогда ваш код всегда сможет получить в этом пользовательском объекте независимо от того, где вы находитесь в своем коде.

2
ответ дан 3 December 2019 в 23:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: