2012-03-09 1 views
2

asp.net C# 웹 응용 프로그램에서 .html 페이지를 처리 ​​할 처리기를 만들었습니다. 또한 URL 재 작성 개념을 사용합니다.
핸들러는 html requrest가 서버/웹 사이트에 올 때 잘 작동합니다.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 "

이 문제를 해결하는 방법은 무엇입니까? Microsoft에서

+0

해결 했습니까? – bmm6o

+0

아니. 대답 있니? – 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) Server.Transfer를 또는 요청 파일의 확장자에 따라 적절한 인터넷 서버 응용 프로그래밍 인터페이스 (ISAPI) 확장의 경우 Server.Execute 요청이 전달

. 예를 들어 .aspx 페이지에 대한 요청이 Aspnet_isapi.dll ISAPI 확장에 전달됩니다.

요청이 적절한 ISAPI 확장으로 발송 된 후 ISAPI 확장은 다른 ISAPI 확장을 호출 할 수 없습니다. ASP.NET 페이지에 대한 요청을 처리하는 Aspnet_isapi.dll 파일이 요청을 ASP 페이지에 대한 요청을 처리하는 Asp.dll 파일로 전달할 수 없기 때문에 "PageName.asp에 대한 자식 요청 실행 오류"오류 메시지가 나타납니다. 귀하의 haldler가 문제를 만들고있다

,

이 시도 : 이는 HTTP 처리기가 가장 가능성이 당신의 웹 사이트의 루트에서 실행중인 다른 응용 프로그램에 의해 추가되는 사용자 정의에 의해 발생합니다. 이 문제를 해결하려면 web.config 파일을 수정하십시오. 추가 후 :

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