在IIS中使用DefaultHttpHandler时无法执行url

时间:2015-09-16 08:55:47

标签: .net iis httphandler

我使用HttpHandlerFactory来创建处理所有类型的请求()的处理程序,但是我不想处理一些静态请求类型,所以我返回DefaultHttpHandler。 但在VS中,它正常工作,在IIS中,只是HtmlTemplateHandler和DoTemplateHandler正常工作,其他请求类型在默认情况下都返回“无法执行Url”异常。

        GenericHandler currentHandler = null;

        switch (extName)
        {
            case ".html":
                currentHandler = new HtmlTemplateHandler();
                break;
            case ".do":
                currentHandler = new DoTemplateHandler();
                break;
            default:
                return new DefaultHttpHandler();
        }



        return currentHandler;

以下是我的web.config

  <system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
       <handlers>

        <add name="all" path="*.*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
    </handlers>

                

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。

因为VS与IIS不同,所以我们需要使用StaticFileHander来处理一些静态文件,例如jpg,css,js ......

但这个处理程序不包含在VS中。考虑使用reflaction进行创建。

SELECT Count(c.CompanyID) 
FROM dbo.LLOAN As l
LEFT JOIN dbo.Company As c ON (c.CountryID = l.SourceID) AND (c.CompanyID = l.LOAN_COMPANY)