2012-03-09 5 views
2

asp.net c#Webアプリケーションで.htmlページを処理するハンドラを作成しました。 私はまた、URL書き換えの概念を使用します。
ハンドラは、htmlリクストがサーバ/ウェブサイトに来たときに正常に動作します。次のように コーディングの詳細は以下のとおりです。ハンドラでserver.transferの子リクエストを実行中にエラーが発生しました

web.configファイルハンドラコード:

<add verb="*" path="*.html," validate="false" type="MyProject.ContentHandler,MyProject" /> 

ContentHandler.csコード:

public void ProcessRequest(HttpContext context) 
{ 
      string strMapPage = string.Empty; 
      if (context.Request.Url.ToString().Contains("category")) 
      { 
       strMapPage = "/Links.aspx?ID=" + ProducID; 
      } 
      else 
      { 
       strMapPage = context.Request.Url.ToString(); 
      } 
      context.Server.Transfer(strMapPage); 
} 

このメソッドは、このページhttp://localhost:9111/user-category-1.htmlのためのような任意の.htmlの要求のために正常に動作します しかし、私が '/JS/TinyMCE/imagemanager/index.html'のようなページを開こうとすると、
「/ JS/TinyMCE/imagemanager /の子要求を実行する際にエラーが発生しました。 dex.html "

この問題を解決するにはどうすればよいですか?マイクロソフトから

+0

これを解決しましたか? – bmm6o

+0

No..答えがありますか? – ravidev

答えて

0

ハンドラをweb.configに追加して問題を解決しました。

<add name="tinyMceIndexHandler" verb="*" path="/js/tiny_mce/plugins/imagemanager/pages/im/index.html" type="System.Web.StaticFileHandler" /> 
0

Microsoftインターネットインフォメーションサービス(IIS)が要求したファイルの拡張子に基づいて適切なインターネットサーバーアプリケーションプログラミングインターフェイス(ISAPI)拡張機能にServer.TransferのかのServer.Execute要求を送出します。たとえば、.aspxページの要求がAspnet_isapi.dll ISAPI拡張にディスパッチされます。

要求が適切なISAPI拡張にディスパッチされた後、ISAPI拡張は別のISAPI拡張を呼び出すことができません。 ASP.NETページへの要求を処理するAspnet_isapi.dllファイルは、ASPページへの要求を処理するAsp.dllファイルに要求を転送できないため、エラーメッセージ "PageName.aspの子要求の実行中にエラーが発生しました"が表示されます。あなたのhaldlerが問題を作成している

はこれを試してみてください。 これは、HTTPハンドラは、最も可能性の高いWebサイトのルートに実行されている別のアプリケーションによって追加されたカスタムによって引き起こされます。問題を解決するには、web.configファイルを変更します。追加後:

<httpHandlers> 
<clear /> 
<add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory" /> 
</httpHandlers> 
関連する問題