問題タブ [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.
c# - HttpContext から現在の System.Web.UI.Page を取得しますか?
これは実際には 2 つの部分からなる質問です。まず、HttpContext.Current は現在の System.UI.Page オブジェクトに対応していますか?
そして、おそらく最初の質問に関連している 2 番目の質問は、現在のページがインターフェイスを実装しているかどうかを確認するために次のコマンドを使用できない理由です。
一般的なコンテキストは、一部のコントロールは、SharePoint Web パーツとして実行されているのか、Asp.Net フレームワークの一部として実行されているのかを知る必要があるということです。
コントロールにそれ自体への参照を渡すように要求し、コントロールの Page プロパティをチェックすることで問題を解決しましたが、上記が機能しない理由はまだ知りません。
コンパイラ エラー: 参照変換、ボックス化変換、ボックス化解除変換、ラッピング変換、または null 型変換を介して System.Web.HttpContext を ...IWebBase に変換できません。
.net - スレッドまたはタイマーでHttpServerUtility.MapPathメソッドにアクセスするにはどうすればよいですか?
System.Timers.Timer
Asp.Netアプリケーションでを使用していますが、をHttpServerUtility.MapPath
介してのみ使用できるように見える方法を使用する必要がありますHttpContext.Current.Server.MapPath
。問題はHttpContext.Current
、null
イベントTimer.Elapsed
が発生したときです。
HttpServerUtilityオブジェクトへの参照を取得する別の方法はありますか?クラスのコンストラクターに注入できます。安全ですか?現在のリクエストの最後にガベージコレクションが行われないようにするにはどうすればよいですか?
ありがとう!
asp.net-mvc - コントローラーのインスタンスの HttpContext は、ASP.net MVC で null です
これはコントローラーの正しい使い方ではないかもしれませんが、私はこの問題に気付き、それを修正する方法を見つけていませんでした。
Controller の HttpContext は、System.Web.HttpContext.Current にある「実際の」HttpContext ではないことに気付きました。
コントローラーに HttpContextBase を手動で設定する方法はありますか? または、コントローラーのインスタンスを作成するより良い方法はありますか?
asp.net - リクエストレスポンスでHttpContextがどのように維持されているか
Web の要求応答の性質が本質的にステートレスであることを考えると、HttpContext がどのように維持されるのか疑問に思っています。
HttpRuntime クラスがリクエスト (HttpWorkerRequest) からこのセクションを読み取って HttpContext クラスを作成できるように、__EVENTTarget / __EVENTARGUMENTS 隠しフィールドの一部として送信される HttpContext オブジェクトの識別子ですか? 思わない
http パイプラインに関する理解の穴を埋めようとしているのですが、これに関する情報を見つけることができませんでした。
HttpContext.Current.Session["myKey"] = Value; のようなものを理解しています。
ただ動作しますが、別の言語 (perl など) で同様のことを行う必要がある場合は、同じために隠しフィールドを使用する必要がありますね。
ありがとう -ヴェヌ
asp.net - Web アプリケーションと非 Web アプリケーションの間で HttpContext コードを共有する
リソース ファイルから読み取り、正しい言語でテキストを表示する VB.NET モジュールを入手しました。ここに私の問題があります - このコードは Web アプリケーションと非 Web アプリケーションの間で共有されます。Web アプリケーションでは System.Web.HttpContext を使用してユーザーの優先言語を判断していますが、Windows アプリはコンパイルさえしません。 、それは HttpContext が定義されていないと言っているからです (私はすでに完全な名前空間のインポートを追加しようとしました - ダイスはありません)。
他の方法で回避できない場合は、ある種の try/catch ブロックを使用したいと思いますが、Windows アプリが HttpContext への参照を使用してコンパイルされないことは変わりません。このコードのチャンクを新しいファイルに移動せずに、Web アプリケーションにのみ含めます (私はそのアプリを所有していないため、それらの影響を扱いたくありません)、これに対処する必要がある別の選択肢はありますか?
意味がわからない場合はお知らせください。明確にするために最善を尽くします。
解決策: System.Web への参照を追加したところ、アプリケーションをコンパイルできるようになりました。また、HttpContext 参照を "If HttpContext.Current isnot Nothing Then...End If" ブロックでラップしました。これにより、Web アプリケーションとして実行されていない場合はコードがスキップされます。これはまさに私が探していたものです。
asp.net - HttpContext と、WebForms と MVC の両方のコンポーネントの作成
MVC と WebForms の両方の Web アプリで使用できるコンポーネントを作成していますが、HttpContext の処理方法の違いを処理する方法がわかりません。
私のコンポーネントには、カスタム IHttpHandler (WebForms 用) またはカスタム ActionResult (MVC 用) が含まれています。
だから私はいくつかの質問があります:
- モデルを壊さずに MVC で IHttpHandler を使用する方法はありますか?
- 両方で機能するコードを作成しようとしているときに HttpContext.Current を使用することは許容されますか? 私には少し力ずくのように思えますが (理由はわかりません)、別の方法として、HttpContext と ControllerContext の間の抽象化を処理するかなり冗長なインターフェイスを記述して実装することもできます。
- 私はこれについて完全に間違っていますか?
c# - 抽象ベースコントローラーでUser(User.Identity.Nameのように)がnullになるのはなぜですか?
私は関連する質問をしていましたが、タイトルを台無しにして、誰もそれを理解しませんでした。より正確に質問できるようになったので、新しい質問に再定式化し、古い質問を閉じることにしました。そのために残念。
したがって、私がやりたいのは、データ(データベースに格納されているカスタムユーザーのニックネーム)をLoginUserControlに渡すことです。このログインはマスターページからHtml.RenderPartial()を介してレンダリングされるため、実際に行う必要があるのは、すべての呼び出しにViewData["UserNickname"]が存在することを確認することです。しかし、すべてのコントローラーのすべてのアクションにViewData ["UserNickname"]を設定したくないので、このアプローチを使用して、次のように作業を行う抽象ベースコントローラーを作成することにしました。
このように、私の派生コントローラーが何をするにしても、ユーザー情報はすでに存在します。
ここまでは順調ですね。今問題のために:
User
はすでにnullであるため、User.Identity.Nameを呼び出すことができません。これは私の派生コントローラーのすべてに当てはまるわけではないので、これは抽象ベースコントローラーに固有です。
コード内の別の場所でFormsAuthenticationを介してUser.Identity.Nameを設定していますが、これは問題ではないと思います。afaikUser.Identity.Nameはnullにすることができますが、User自体はできません。
HttpContextが利用できないように見え(null;-もあるため)、ここで単純でありながら重要なポイントが欠落しているように見えます。誰かが私にいくつかのヒントを与えることができますか?とても感謝しております。
wcf - HttpContext.Current.Request.RawUrlに相当するWCFは何ですか?
純粋な WCF コンテキストでいくつかの RESTful サービスを実行しています (つまり、ASP.NET 互換性が有効になっていないため、HttpContext.Current
使用できるオブジェクトがありません)。
サービスへの URL は、リクエストの開始時に を使用して書き換えられますIHttpModule
(その時点では があり、HttpContext
を使用して書き換えられます) 。これにより、URL から拡張子HttpContext.Current.RewritePath
などを取り除くことができます。.svc
ただし、WCF インフラストラクチャ内から要求された元の URL にアクセスする必要があります。またはクラスのどこかHttpContext.Current.Request.RawUrl
に同等のものはありますか?を使用すると、元の URL ではなく、書き換えられた URL が返されます。OperationContext
WebOperationContext
WebOperationContext.Current.IncomingRequest.UriTemplateMatch.RequestUri
c# - Moq を使用した HttpContext Response.Output のモック
私は、Hanselman のブログにある MvcMockHelpers クラスを使用して、モック化された HttpContext を渡してきました。必要な認証データを追加するために多少拡張しましたが、ほとんどの場合、これは素晴らしいものでした.
私たちが抱えている問題は、コントローラーに与えているコンテキストの HttpContext.Response.Output に null 値が含まれていることです。これにより、いくつかの例外がスローされます。これを機能させるために何を追加すればよいかわかりません。
以下は、既存の FakeHttpConext() メソッドです。
これは爆発メソッドです (MVC Contrib プロジェクトの XmlResult の一部です):
context.HttpContext.Response.Output が参照されたときに null 例外を防ぐために、FakeHttpContext メソッドに何を追加する必要がありますか?
明確化: 私が探しているソリューションは、Rhino ではなく Moq で実行する必要があります。質問のタイトルでMoqについて言及しましたが、質問の本文ではそれを無視しました。混乱して申し訳ありません。
解決策 次の 2 行のコードを FakeHttpContext() メソッドに追加しました。
これにより、null 例外が防止されます。長期的には良い答えかどうかはわかりませんが、今のところうまくいきます.