問題タブ [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.
asp.net - Commerce Server および ASP.NET 統合パイプライン エラー
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 モジュールを作成しています。
助けてくれてありがとう!
c# - ランタイムビューアクセスにHttpContext.Current.CurrentHandlerを使用する
ランタイムビューアクセスにHttpContext.Current.CurrentHandlerを使用することの潜在的な落とし穴はありますか?
asp.net - ワーカー スレッドから MapPath を使用する
別のメソッドからスピンしたワーカー スレッドで実行されている WCF サービス メソッドがあります。
相対サービス アプリ パス ("~/Templates/a.template") を物理パス ("D:\Web\Templates\a.template") にマップする必要がありますHttpContext.Current.Server.MapPath
がHttpContext.Current
、ワーカー スレッド。他にどのようにMapPath
メソッドに到達できますか?
asp.net - ASP.NETセッションオブジェクトのEntity Frameworkオブジェクトコンテキスト?
多層化された Asp.NET Web フォーム アプリケーションがあります。データ層には、エンティティ フレームワーク オブジェクト コンテキストのインスタンスDataAccess
を実装し、プライベート フィールドとして持つというクラスがあります。IDisposable
このクラスには、エンティティのさまざまなコレクションを返す多数のパブリック メソッドがあり、破棄されるとオブジェクト コンテキストが破棄されます。
DataAccess
私たちが直面してきた多くの問題により、オブジェクト コンテキスト (または のインスタンス) をサーバー上でより長くスコープ内に保持することが大きなプラスになると判断しました。Http リクエストごとに 1 つのインスタンスを持つために、この投稿HttpContext.Current.Items
のコレクションにインスタンスを保持することを提案しました。
私が疑問に思っているのは、オブジェクトコンテキストのインスタンスをオブジェクトに格納することでどのような問題/懸念/問題が発生するのでしょうかHttpContext.Current.Session
????
- ユーザーのセッションの有効期限が切れると、Session オブジェクトがファイナライズされ、ガベージ コレクション用に設定されるため、インスタンスは適切に破棄されると想定しています。
- ほとんどのデフォルトのブラウザー設定では、アプリが問題なく SessionId Cookie を配置できると想定しています。
- オブジェクト コンテキストが処理するデータの量は膨大ではなく、時間の経過に伴うキャッシュと比較的少数の同時ユーザーに関して、適切なサーバー ハードウェアに問題を引き起こすことはありません。
これは比較的迅速に実装でき、多くの既存の単体テストには影響しません。
AutoFac と ServiceProvider クラスを使用してインスタンスを提供します。ObjectContext のインスタンスが必要な場合、次のようなコードによって返されます。
乾杯。
asp.net - httpcontext を使用せずにアプリケーション パスを取得します。(asp.net)
どうやってするの?
私はこれを使いたくない:
httpcontext を必要とせずに呼び出すことができる同様の関数はありますか?
たとえば、何かを行うスレッドを開始する場合、httpcontext は使用できませんが、アプリのパスを取得する必要があります。いいえ、コンテキストを引数として渡すことも、共有変数から読み取ることもできません。
asp.net - 静的メソッドのHttpContext.CurrentNullReferenceException
いくつかの静的メソッドを持つ静的クラスがあります。これらのメソッドでは、を使用して現在のスレッドのコンテキストにアクセスしようとしていますHttpContext.Current
。例えば:
ただし、これを行うと、NullReferenceException
悪名高い「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というメッセージが表示されます。
何か案は?
exception - MoQを使用しようとしたときのStrongNameKeyPairの問題
ユニットテスト用のモックHttpContextBaseを作成しようとしています。
ユニットテストは、最後のステートメントで失敗します。
例外をスローしました:System.ArgumentException:StrongNameKeyPairの公開鍵を取得できません。
System.Reflection.StrongNameKeyPair.nGetPublicKey(ブール値エクスポート、Byte []配列、文字列コンテナー)System.Reflection.StrongNameKeyPair.get_PublicKey()System.AppDomain.InternalDefineDynamicAssembly(AssemblyName name、AssemblyBuilderAccessアクセス、文字列ディレクトリ、証拠の証拠、PermissionSet requiredPermissions、PermissionSet optionalPermissions、PermissionSet refusedPermissions、StackCrawlMark&stackMark、IEnumerable`1 unsafeAssemblyAttributes)System.AppDomain.DefineDynamicAssembly(AssemblyName name、AssemblyBuilderAccess access)Castle.DynamicProxy.ModuleScope.CreateModule(Boolean signStrongName)Castle.DynamicProxy.ModuleScope.ObtainDynamicModuleWithStrongName()Castle.Dynamic .ObtainDynamicModule(Boolean isStrongNamed)Castle.DynamicProxy.Generators.Emitters.ClassEmitter。CreateTypeBuilder(ModuleScope modulescope、String name、Type(blah blah snip)
私はグーグルで検索しましたが、ここでの提案は機能しないようです(RSAフォルダーのセキュリティ設定の変更など)http://groups.google.com.br/group/castle-project-users/browse_thread/thread/85685cf32a795158
署名されたアセンブリであるHttpContextBase
の一部であるため、私はそれを考えるのは正しいですか。System.Web.Abstraction
Moqは実際に動的アセンブリに署名しようとしますが、失敗しますか?
linq - pLinq クエリ内でセッション状態を使用する
私はかなり単純なLinqクエリ(簡略化されたコード)を持っています:
製品はクラスです。Product.Price は子クラスで、GrossPrice はそのプロパティの 1 つです。価格を計算するには、Session("exchange_rate") を使用する必要があります。
したがって、lstProductList の各アイテムには、次のことを行う関数があります。
(そして GrossPrice は NetPrice+VatAmount を返します)
何を試しても、セッション状態にアクセスできません。
HttpContext.Current を試しましたが、何も返されません。クラスでIRequiresSessionStateの実装を試しました(これは、一般的なhttpハンドラー[.ashx]で同様の状況に役立ちます)-運が悪いです。
シンプルな InProc セッション状態モードを使用しています。為替レートはユーザー固有のものでなければなりません。
私に何ができる?
私が働いている: Web 開発、.Net 4、VB.net
ステップバイステップ:
page_load (.aspx 内)
dim objSearch as new SearchClass()
dim output = objSearch.renderProductsFound()
その後、objSearch.renderProductsFound:
lstProductList.Add(objProduct(1))
...
lstProductList.Add(objProduct(n))
dim x = From Product In lstProductList.AsParallel
Order By Product.Price.GrossPrice 降順 製品を選択
In Product.Price.GrossPrice Get :
return me.NetPrice+me.VatAmount
Product.Price.NetPrice Get:
return NetBasePrice*Session("exchange_rate")
繰り返しますが、単純化されたコードで、ここに貼り付けるには多すぎます。クエリを For ループにアンラップすると、正常に動作します。
c# - C# でのフレーム リダイレクト
IIS 7 のマネージ モジュールから C# でフレーム リダイレクトを実行したいと考えています。
呼び出すとcontext.Response.Redirect(@"http://www.myRedirect.org");
、正しいページが表示されますが、アドレスもブラウザーに表示されます。そして、それはまさに私が望んでいないことです。
だから私は次のようなものが欲しい:
それについてのアイデアはありますか?
編集:
私は例を試したので、私は持っています:
しかし、それも正しくリダイレクトされません。ブラウザにはまだリダイレクト アドレスが表示されています。他のアイデアはありますか?
編集:明らかに間違いを犯しました。上記のコードは機能し、私が望むことを行います。私のリダイレクトURLが予期しないことをしていたため、最初は機能しませんでした。
asp.net-mvc - Controller.HttpContextを使用する場所
ベースコントローラーのコンストラクターで、クライアント上の特定のCookieをチェックする拡張メソッドを呼び出しています。
現在、System.Web.HttpContext.Currentを使用して現在のコンテキストを取得しています。
ただし、Controller.HttpContextの方がテスト可能であり、リクエストに関する追加情報が含まれているため、Controller.HttpContextを使用する必要があると思われます。
ただし、Controller.HttpContextは、作成時にnullを返します(これは仕様によるものと考えられます)が、InitializeメソッドとExecuteメソッドでもnullを返します(Routing.RequestContext.HttpContext?を使用しない場合)。
したがって、HttpContext.Currentの代わりにController.HttpContextを使用する必要がある場合、リクエストでどの時点で使用できますか?
ありがとうベン