2012-03-09 68 views
2

我已創建處理程序來處理我的asp.net c#web應用程序中的.html頁面。 我也使用網址重寫的概念。
當任何html請求到達服務器/網站時,Handler工作正常。 編碼詳情如下:錯誤執行子請求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 2012-07-19 15:33:56

+0

不,你有答案嗎? – ravidev 2012-07-20 12:35:18

回答

0

我在web.config中添加了處理程序,它解決了問題。

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

微軟:

Microsoft Internet信息服務(IIS)調度Server.Transfer的或使用Server.Execute請求相應的Internet服務器應用程序編程接口(ISAPI)基於請求文件的擴展延伸。例如,將.aspx頁面的請求分派給Aspnet_isapi.dll ISAPI擴展。

將請求分派到適當的ISAPI擴展後,ISAPI擴展無法調用另一個ISAPI擴展。您會收到錯誤消息「執行子頁面名稱爲PageName.asp的錯誤」,因爲Aspnet_isapi.dll文件處理對ASP.NET頁面的請求,無法將請求轉發到處理ASP頁面請求的Asp.dll文件。

你haldler創造問題,

試試這個: 這是通過自定義的通過是最有可能在貴網站的根目錄中運行其他應用程序添加HTTP處理程序引起的。要解決該問題,請修改web.config文件。添加後:

<httpHandlers> 
<clear /> 
<add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory" /> 
</httpHandlers> 
相關問題