問題タブ [httpcontext]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iis-6 - オブジェクト参照が GetRouteData に設定されていません (System.Web.Routing)
これは私を怒らせています。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 氏が定めた一般的なガイドラインに従っています。エラーの性質上、私のコードが多くの洞察を提供するかどうかはわかりませんが、要求があれば喜んで提供します。
どんな助けでも大歓迎です。
http - クラシックASPのASP.NETのHttpContext.Current.Itemsに相当するものは何ですか?
HttpContext.Current.Items
HTTPリクエストの有効期間を持つストアです。
これに相当するClassicASPについて知りたいのですが。
c# - 静的クラス内でのセッション処理のラッピング
新しいオブジェクトを何度も作成したくなかったので、すべての直接的なセッション対話を別のクラスに分けて静的にしました。ただし、並行性の問題やその他の不安定な驚きがないことを確認したいと思います。
コードは次のとおりです。
asp.net - HttpModule を使用せずに宣言型のリクエストごとのデータを破棄する
静的な Current プロパティを介して HttpContext.Items に結び付けられる「コンテキスト」オブジェクトがあります。このオブジェクトは、すべて同じライブラリの一部である式ビルダーおよびコントロールを介して直接使用できます。
私が遭遇している問題は、リクエストが HttpModule を使用せずに終了したときに、マネージド リソース (WCF クライアント) を破棄したいということです (それ以外の場合は必要ないため)。完全な破棄可能なパターン(Finaliser を使用)を実装しましたが、タイムリーにインスタンスをファイナライズする GC に依存することはできません。
オブジェクト コンストラクターで静的メソッドを HttpApplication.EndRequest (PostRequestHandlerExecute も) にサブスクライブしようとしましたが (一度だけ発生するようにロックして)、イベントは決してディスパッチされません。完全にはわかりませんが、これはおそらく HttpApplication のインスタンスが変更されたためです。
これを解決する最善の方法について何か考えはありますか?
inversion-of-control - Castle Windsor を使用して IRailsEngineContext を注入する
問題
Castle Monorail プロジェクトで Castle Windsor を IoC コンテナーとして使用しています。IRailsEngineContext の現在のインスタンスを、コントローラー内のコンテナーから解決されるオブジェクトに挿入したいと考えています。
環境
Railsコンテキストを挿入したいオブジェクトは、以前に表示したレコードのIDを保持する目的でセッションオブジェクトをラップするために使用されます。その後、それらが再び表示されないようにするために参照されます。
代替ソリューション
各呼び出しでコンテキストをメソッドに渡すか、手動で注入することもできますが、コンテナから直接注入するとよいでしょう。
質問
コンテナ内にコンテキストを注入する方法が思いつきません。これを行う方法はありますか?これは意味がありますか?
.net - コンソール アプリケーションで System.Web.Caching.Cache を使用するにはどうすればよいですか?
コンテキスト: .Net 3.5、C#
コンソール アプリケーションにキャッシュ メカニズムが必要です。
車輪を再発明する代わりに、使用したいと思いますSystem.Web.Caching.Cache
(これは最終決定です。他のキャッシング フレームワークは使用できません。理由は聞かないでください)。
ただし、System.Web.Caching.Cache
有効な HTTP コンテキストでのみ実行されるようになっているようです。私の非常に単純なスニペットは次のようになります。
結果は次のとおりです。
明らかに、私はここで何か間違ったことをしています。何か案は?
更新HttpRuntime.Cache
:ほとんどの回答に+1、静的メソッドを介してキャッシュを取得するのが正しい使い方HttpContext.Current.Cache
です。皆さん、ありがとうございました!
asp.net - HttpContext.Current.User.Identity.Name は常に string.Empty です
こんにちは、私はカスタム MembershipProvider を使用しています。
アプリケーション シナリオで現在のユーザー名を知りたいのですが、HttpContext.Current.User.Identity.Name にアクセスしようとすると、常に string.Empty が返されます。
何か不足していますか?
asp.net - httpcontext.current.cache 内のオブジェクトのリスト
キャッシュ内のすべてのオブジェクトを調べる方法はありますか? オブジェクトを動的に作成していますが、定期的にリストを調べて、使用しなくなったオブジェクトを削除する必要があります。
asp.net - ページではないクラスからGetGlobalResourceObject関数にアクセスするにはどうすればよいですか?
asp.netプロジェクトにクラスがあります。サイトのどこからでもGetGlobalResourceObject(そのページが公開している)にアクセスしたいのですが、可能ですか?
言い換えれば、私はどのように私が気にしないページではないクラスからグローバルリソースにアクセスしたいのです。
asp.net - HttpRuntime キャッシュと HttpContext キャッシュの違いは何ですか?
ここに非常によく似た質問があることは知っていますが、より良い説明を得たいと思っていました。HttpContext が舞台裏で HttpRuntime.Cache を実際に使用している場合、なぜ HttpRuntime.Cache の代わりに HttpContext.Cache を使用するのでしょうか?
ASP.NET を使用して Windows サービスをシミュレートし、スケジュールされたジョブを実行するという記事で、 Omar は HttpContext を使用してキャッシュ項目を保存しますが、Jeff Atwood がここで実装したとき、代わりに HttpRuntime を使用することを選択しました。明らかに、この特定の状況では、キャッシュ項目を HttpContext に戻すために Web 要求を実行する必要がないため、これは理にかなっています。
ただし、どちらをいつ使用するかについて、いくつかの良い指針を探しています。