我有一个在 IIS 7.5 上运行的 MVC 1 应用程序。一些操作完成后,我得到了一个使用 System.Web.Routing.RouteValueDictionary 作为第二个参数的 RedirectToRoute 调用。基本上,它通过 ID 调用特定对象的“详细信息”。
当在运行 IIS 7.5 的生产服务器上遇到此代码时,它会将我带回登录页面,并在顶部的 URL 中包含 ReturnUrl 值。当我再次登录时,它会将我带到应该使用 RedirectToRoute 直接将我带到的页面。
它不会在本地主机上执行此操作。事件日志中的详细信息是:
活动代码:4011
事件消息:安
发生了未处理的异常
...
应用域:-域-
信任级别:完全
应用程序路径:c:\inetpub\wwwroot\
...
请求网址:http://mysite.com/405/Acquisition http://mysite.com/405/Acquisition
请求路径:
/属性/405/收购
用户
主机地址:-我的外部IP-
用户:-登录用户-
是
已验证:真实
身份验证类型:表单
线
帐户名:NT AUTHORITY\NETWORK
服务
当然,现在该路径实际上并不存在于服务器上,因此使用了 MVC。所以我猜它是 IIS7 的某种权限问题?特别是因为当我再次登录时它会转到正确的页面(并显示确认消息)。这不是事件代码 4011 吗?
任何帮助表示赞赏。
EDIT:
根据 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>