質問する
3686 次
1 に答える
9
互換性をオンにしている限り、ASP.NET でホストされている任意の WCF サービス内で ASP.NET の HttpContext にアクセスできます。これは、次の 2 つの手順で行われます。
- AspNetCompatibilityRequirementsAttribute をサービス クラスに適用し、RequirementsMode プロパティを Required に設定します。
以下を設定して、互換性を有効にしてください。
<system.serviceModel> <serviceHostingEnvironment aspNetCompatibilityEnabled=”true” /> </system.serviceModel>
これが完了したら、静的な Current プロパティを使用して、いつでも現在の HttpContext インスタンスにアクセスできます。例えば:
foreach(HttpCookie cookie in HttpContext.Current.Request.Cookies)
{
/* ... */
}
ASP.NET ランタイムとの統合を有効にすると、要求ごとに追加のオーバーヘッドが発生することに注意してください。そのため、それが必要ない場合は、有効にせずに代わりに System.ServiceModel.Web ランタイムを使用することで、パフォーマンスをいくらか節約できます。HttpRequestResponseMessagePropertyおよびHttpResponseMessagePropertyクラスを使用して、必要なほとんどすべての情報にアクセスできます。
このテーマの詳細については、MSDN の WCF および ASP.NET というタイトルのこのセクションを参照してください。
于 2009-10-27T13:54:30.603 に答える