我正在使用 Microsoft Commerce Server 2007 和自定义 ASP.NET 2.0 网站。在经典管道中一切正常,但是当我尝试使用集成管道时,它失败并出现以下错误:
“/”应用程序中的服务器错误。
请求在此上下文中不可用
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Web.HttpException:请求在此上下文中不可用
源错误:
在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。
堆栈跟踪:
[HttpException (0x80004005): 请求在此上下文中不可用]
System.Web.HttpContext.get_Request() +8794400 Microsoft.CommerceServer.Runtime.Orders.CommerceOrderModule.Init(HttpApplication appInstance) +134
System.Web.HttpApplication.InitModulesCommon() +65 System.Web.HttpApplication.InitIntegratedModules() +49 System.Web.HttpApplication.InitInternal(HttpContext 上下文,HttpApplicationState 状态,MethodInfo[] 处理程序)+729
System.Web.HttpApplicationFactory.GetNormalApplicationInstance(HttpContext 上下文)+298
System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext 上下文)+107
System.Web .HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +363
我已尽我所能对此进行研究,这肯定是由于 Commerce Server 在没有当前请求时尝试访问 HttpContext.Current 引起的。这一切都发生在我的代码中的任何内容之前,并且没有什么可以闯入或查看任何源代码。我什至尝试将调试器附加到 IIS 进程(w3wp.exe),但它没有捕获任何东西。
我已按照此处的说明添加 web.config 部分,但没有任何区别。
我在不同的服务器上有一个不同的网站,在集成管道模式下使用 Commerce Server,没有问题,所以我知道这是可能的。我找不到两个 web.config 文件之间的显着差异,所以我假设这是其他地方的配置错误,但我不知道去哪里找。
出于性能原因,我可以在集成管道模式下使其工作至关重要,此外,我正在创建一个仅适用于集成管道的自定义 URL 重写 HTTP 模块。
预先感谢您的任何帮助!