Webforms应用程序在2012年运行良好,但不是2013年

时间:2014-04-28 22:04:51

标签: visual-studio-2012 webforms visual-studio-2013 iis-7.5 trusted

我有一个可以在Visual Studio 2012中正常运行的Web表单应用程序,但是当我在VS 2013中运行int时,我得到了

System.SystemException occurred
Message: A first chance exception of type 'System.SystemException' occurred in mscorlib.dll
Additional information: The trust relationship between the primary domain and the trusted domain failed.

加载初始页面时的堆栈跟踪。我不知道从哪里开始试图找出导致问题的原因。它运行在相同的框架版本上并具有相同的Web配置

更新....我将Visual Studio 2012切换为使用IIS Express,现在在VS 2012和VS 2013中获得相同的异常。现在解决异常?

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

这是因为2013年不使用cassini网络服务器,而是使用IIS Express。如果您启用IIS Express而不是Cassini,则可能会在Visual Studio 2012中发生这种情况。要解决此问题,请按以下步骤操作:

在visual studio中单击您的Web项目,然后按F4

1)需要禁用匿名身份验证

2)需要启用Windows身份验证

enter image description here

注意:如果其中一个显示为灰色,则表示您在IIS Express配置文件中有覆盖

\ My Documents \ IISExpress \ config \ applicationhost.config

检查

 <section name="anonymousAuthentication" overrideModeDefault="Allow"/>

<section name="windowsAuthentication" overrideModeDefault="Allow" />

更多信息:

http://msdn.microsoft.com/en-us/magazine/hh288080.aspx

http://www.codegorilla.com/2012/12/how-to-enable-windows-authentication-when-using-iisexpress/

答案 1 :(得分:1)

从错误中我假设您正在使用Windows身份验证..

如果您正在调用isInRole并传递一个不存在的角色,则可能会出现此错误。

HttpContext.Current.User.IsInRole("SomeMadeUpRole");

关于2012年和2013年之间的差异,2013年使用IIS Express,它基本上是一个减少IIS 7.5而不是7 ...

虽然不是100%肯定,但是很高兴听到这有帮助!