Microsoft Commerce Server 2007 とカスタム ASP.NET 2.0 Web サイトを使用しています。クラシック パイプラインではすべてが正常に機能しますが、統合パイプラインを使用しようとすると、次のエラーで失敗します。
「/」アプリケーションでサーバー エラーが発生しました。
このコンテキストではリクエストを利用できません
説明: 現在の 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 コンテキスト) +363
私はこれを調査するために最善を尽くしましたが、現在の要求がないときに Commerce Server が HttpContext.Current にアクセスしようとしたことが原因であることは間違いありません。これはすべて、私のコード内の何よりも前に行われ、侵入するものも、ソース コードを見るものもありません。デバッガーを IIS プロセス (w3wp.exe) にアタッチしようとしましたが、何もキャッチしません。
ここの指示に従ってweb.config セクションを追加しましたが、違いはありません。
統合パイプライン モードで Commerce Server を使用している別のサーバー上に別の Web サイトを持っているので、それが可能であることはわかっています。2 つの web.config ファイルの間に大きな違いが見つからないため、別の場所での構成エラーであると想定していますが、どこを見ればよいかわかりません。
パフォーマンス上の理由から、これを統合パイプライン モードで動作させることが重要です。また、統合パイプラインでのみ動作するカスタム URL 書き換え HTTP モジュールを作成しています。
助けてくれてありがとう!