私のアプリケーションでカスタムIHttpHandlerを使用しています。 IIS 5では正常に動作していますが、今はIIS 7に移行しており、2008 R2サーバーを購入しました。ここでは機能しません。親切に助けてください。あなたは[email protected]で私に連絡することができます。前もって感謝します。 これは私のカスタムハンドラコード:IIS 7ではカスタムHttpHandlerが動作しませんが、IIS 5で動作しています
パブリッククラスWebRequestHandler:IHTTPハンドラ、IRequiresSessionState
{
ます。private void ProcessDataRequest(のHttpContextコンテキスト)
{
コントローラーコントローラー=新しいコントローラ();
controller.ProcessDataRequest(context);
}
領域IHTTPハンドラメンバー
パブリックブールIsReusable
{
GET {trueを返します。 }
}
公共ボイドのprocessRequest(のHttpContextコンテキスト)
{
VARセグメント=のcontext.Request.Url.Segments。
var request = segments [segments.Length - 1];
context.Response.Expires = -1;
スイッチ(リクエスト)
{
場合 "data.lst"
this.ProcessDataRequest(コンテキスト)。
return;
}
}
endregion
}
、私は次のように呼び出しています。
this.client = new WebClient();
this.client.DownloadProgressChanged + = this.OnProgressChanged;
this.client.OpenReadCompleted + = this.OnDataAvailable;
this.client.OpenReadAsync(新しいUri( "../ data.lst?viewerID = viewer"、UriKind.Relative)、 "GET");
ただし、公開後にIIS 7でProcessRequest(HttpContextコンテキスト)メソッドが呼び出されません。
この投稿に親切に返信してください。前もって感謝します。
これは私のweb.configコンテンツです:設定>
のappSettings>
キー= "ChartHttpHandler" 値=追加 "ストレージ=メモリ;タイムアウト= 180;のURL =〜/ TEMP /;" />
のconnectionStrings />
システム。ウェブ>
プロパティ>
プロフィール>
名を追加= "をSearchSettings" はdefaultValue = "" タイプは、= "可能System.String" />
/プロパティ>
/プロフィール>
てsessionStateタイムアウト= "2">
/てsessionState>
コンパイル、デバッグ= "true" をtargetFramework = "4.0">
アセンブリ>
は、アセンブリ= "のSystem.Windows.Forms、バージョン= 4.0.0.0、文化=中立、
なPublicKeyToken = B77A5C561934E089" を追加します/>
認証モード= "Windowsの" />
のhttpHandlers>
動詞を追加= "GET、POST" パス= "*。LST" タイプ= "App_Code.WebRequestHandler" />
/のhttpHandlers>
ページcontrolRenderingCompatibilityVersion = "3.5" のClientIDMode = "AUTOID" />
system.webServer>
検証validateIntegratedModeConfiguration = "偽" />
ハンドラー>
名= "WebRequests" 動詞を追加=」"パス="。 lst "モジュール= "IsapiModule"
scriptProcessor = "%パス%\ ASPNET_ISAPI.DLL" YPE = "App_Code.WebRequestHandler" /> /ハンドラ>
/system.webServer>
system.serviceModel>
行動>
serviceBehaviors>
/serviceBehaviors>
/行動>
サービス>
/サービス>
/system.serviceModel>
/設定>