3

これは私を怒らせています。Web フォーム アプリケーションに Web.Routing を実装しました。アプリケーションは正常に動作しますが、不可解なことに (少なくとも現時点では)、次のエラー メッセージがスローされます。

オブジェクト参照がオブジェクト インスタンスに設定されていません。System.Web.Routing.RouteCollection.GetRouteData(HttpContextBase httpContext) で System.Web.Routing.UrlRoutingModule.PostResolveRequestCache(HttpContextBase コンテキスト) で System.Web.Routing.UrlRoutingModule.OnApplicationPostResolveRequestCache(オブジェクト送信者、EventArgs e) で System.Web. System.Web.HttpApplication.ExecuteStep での HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() (IExecutionStep ステップ、ブール値および completedSynchronously)

このエラーは断続的に発生し、サイト内を移動してもエラーが再現されません。

私のエラーの解釈は、サーバーへのリクエストにより、null httpContext を持つ PostResolveRequestCache イベントが発生するというものですが、それがどのように可能かはわかりません。

この問題は、アプリケーション プールを再起動することで解決されます。

アプリケーションは IIS6 で実行されています。このため、ワイルドカード アプリケーション マップを aspnet_isapi.dll に追加し、[ファイルの存在を確認する] チェックボックスをオフにしました。これは、ファイル拡張子のないわかりやすい URL を有効にするためですが、回避策としてこれを変更することを検討しています。この背後にある考え方は、サーバーに送信されるべきではないモジュールを取得しているリクエストが送信されている可能性があるということです。

私の実装はカスタマイズされていますが、Haack 氏が定めた一般的なガイドラインに従っています。エラーの性質上、私のコードが多くの洞察を提供するかどうかはわかりませんが、要求があれば喜んで提供します。

どんな助けでも大歓迎です。

4

3 に答える 3

1

変更されているルート コレクションに関連している可能性があります。他の質問を参照してください。

于 2009-12-14T06:45:52.067 に答える
1

カスタム ファイル拡張子を追加することは理想的ではありませんでしたが、それ以上のエラー メッセージが表示されなくなりました。

于 2009-06-14T17:46:28.283 に答える
0

このエラーは、コレクションが .Net でスレッドセーフでないことと一致しています。

この同様の質問に対する私の最後の回答を親切にチェックしてください

于 2014-04-09T12:05:26.730 に答える