Live Code работает в IIS и ASP.NET Web Server, но не в IIS Express. - PullRequest
1 голос
/ 21 апреля 2011

Недавно установив IIS Express, я надеялся, что это облегчит мне жизнь, но почти сразу столкнулся с проблемой.

Рассмотрим следующее, которое представляет некоторый живой код:

Public Shared Function GetServiceId() As String

  Dim principal As MyCustomAuthentication.Principal.MyPrincipal

  principal = CType(Thread.CurrentPrincipal, MyCustomAuthentication.Principal.MyPrincipal)
  .
  .
  .
  .

End Function

Запуск кода на веб-сервере ASP.NET (Cassini) все в порядке, и я вижу, что Thread.CurrentPrincipal имеет тип MyCustomAuthentication.Principal.MyPrincipal.

Выполнениев IIS Express эта же строка выдает исключение InvalidCastException и проверяет тип, который, по моему мнению, теперь относится к System.Security.Principal.GenericPrincipal, что сбивает с толку, поскольку больше ничего не изменилось.реализует IPrincipal и помните, что это живой код, он в настоящее время развернут и работает.

Может кто-нибудь пролить свет на то, что здесь происходит?

1 Ответ

0 голосов
/ 21 апреля 2011

Я думаю, что вы хотите вместо HttpContext.Current.User. Идентификационные данные текущего пользователя не совпадают с идентификационными данными текущего потока.

...