我已经创建了处理程序来处理asp.net c# web应用程序中的.html页面。我还使用了url重写的概念。
当任何html请求到达服务器/网站时,处理程序都工作得很好。编码细节如下:
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);
}这个方法适用于任何.html请求,比如这个页面的http://localhost:9111/user-category-1.html,但是当我试图打开这个页面时,比如'/JS/TinyMCE/imagemanager/index.html‘
它抛出错误"Error executing the request for /JS/TinyMCE/imagemanager/index.html“
如何解决这个问题?
发布于 2012-10-05 17:43:09
我已经在web.config中添加了处理程序,它解决了这个问题。
<add name="tinyMceIndexHandler" verb="*" path="/js/tiny_mce/plugins/imagemanager/pages/im/index.html" type="System.Web.StaticFileHandler" />发布于 2012-04-16 18:28:25
来自microsoft:
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.dll文件,所以您会收到错误消息"Error executing You for ASP子request“。
你的哈德勒在制造麻烦,
试试这个:这是由另一个应用程序添加的自定义HTTP处理程序引起的,该应用程序最有可能在您的网站的根目录中运行。要解决此问题,请修改web.config文件。添加后:
<httpHandlers>
<clear />
<add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory" />
</httpHandlers>https://stackoverflow.com/questions/9629122
复制相似问题