【发布时间】:2011-08-14 05:40:16
【问题描述】:
我有一个在 IIS 7.5 上运行的 MVC 1 应用程序。一些操作完成后,我得到了一个使用 System.Web.Routing.RouteValueDictionary 作为第二个参数的 RedirectToRoute 调用。基本上,它通过 ID 调用特定对象的“详细信息”。
当我在运行 IIS 7.5 的生产服务器上遇到此代码时,它会将我带回登录页面,并在顶部的 URL 中有一个 ReturnUrl 值。再次登录后,它会将我带到应该使用 RedirectToRoute 直接将我带到的页面。
它不会在 localhost 上执行此操作。事件日志中的详细信息是:
事件代码:4011
事件消息:An 发生未处理的异常
...
应用领域:-domain-
信任级别:完全
应用路径:c:\inetpub\wwwroot\
...
请求网址: http://mysite.com/405/Acquisition
请求路径: /properties/405/Acquisition
用户 主机地址:-我的外部 ip-
用户:-登录用户-
是 认证:真
身份验证类型:表单
线程 帐户名称:NT AUTHORITY\NETWORK 服务
当然,该路径在服务器上实际上并不存在,因此使用了 MVC。所以我猜测它与 IIS7 的某种权限有关?特别是因为当我再次登录时它会转到正确的页面(并显示确认消息)。这不就是事件代码 4011 吗?
感谢任何帮助。
编辑:
根据 Phill 的问题,这是 web.config 的一部分:
<modules runAllManagedModulesForAllRequests="true">
<remove name="ScriptModule" />
<remove name="UrlRoutingModule" />
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</modules>
【问题讨论】:
-
只针对这一页还是所有页?您是否在 web.config 文件的模块中设置了“runAllManagedModulesForAllRequests”?
-
@Phill 只是为了几页。
-
@Phill,是的,runAllManagedModulesForAllRequests 在 web.config 中。我已将那篇文章粘贴到我的问题中。
标签: asp.net asp.net-mvc iis-7 asp.net-membership iis-7.5