我正在处理 ASP.NET MVC 中的错误,方法是将错误 id 从 Application.OnError 发送到控制器操作,方法是添加一个提供错误 id 的路由数据值:
Global.asax.cs/OnError:
var routeData = new RouteData(); routeData.DataTokens.Add("errorKey", errorId); var context = new RequestContext(new HttpContextWrapper(Context), routeData); 错误控制器.执行(上下文);
然后在控制器/动作中读取它:
对象 errorKey = RouteData.DataTokens["errorKey"];
在我的本地机器上它运行良好,但在我尝试过的服务器上,errorKey 没有传递。
这可能是什么原因?
当站点运行 Web 服务器时,一个新的观察结果:
- 如果我从 Web 服务器本身的浏览器访问,路由数据传输正常
- 如果我从另一台机器访问,路由数据不会传输