【发布时间】:2011-08-10 06:25:28
【问题描述】:
最近安装了 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 Web 服务器 (Cassini) 下运行代码一切正常,我可以看到 Thread.CurrentPrincipal 的类型为 MyCustomAuthentication.Principal.MyPrincipal。
在 IIS Express 下运行同一行会引发 InvalidCastException 并检查我发现它现在是 System.Security.Principal.GenericPrincipal 的类型,这令人困惑,因为没有其他任何改变。
我可以确认 MyCustomAuthentication.Principal.MyPrincipal 实现了 IPrincipal 并记住这是实时代码,它目前已部署并正在运行。
谁能解释这里发生了什么?
【问题讨论】:
-
你解决过这个问题吗?我有同样的问题
-
@LillyPop:恐怕我从来没有解决过这个问题——我想我最终改用了完整的 IIS,它工作得很好(一年多以前,我现在已经从那份工作中离职了)。
标签: vb.net iis-express