LinuxASP.NETMVC网站中httpHandlers配置无效怎么办

这篇文章主要讲解了“Linux ASP.NET MVC网站中httpHandlers配置无效怎么办”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux ASP.NET MVC网站中httpHandlers配置无效怎么办”吧!

成都创新互联专注于佳县网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供佳县营销型网站建设,佳县网站制作、佳县网页设计、佳县网站官网定制、小程序设计服务,打造佳县网络公司原创品牌,更为您提供佳县网站排名全网营销落地服务。

造成httpHandlers无效的原因我并没有时间去深究,为了能够及时解决这个问题,我把注意力放到了Global.asax文件的Application_BeginRequest方法上,然后给出如下的解决方案。

一,在global.asax中添加一个静态方法:

static bool TryHanler(string ext) where T : IHttpHandler
{
    if (string.IsNullOrEmpty(ext)) return false;
    var context = HttpContext.Current;
    var path = context.Request.AppRelativeCurrentExecutionFilePath;
    if (!path.EndsWith(ext)) return false;
    var handle = Activator.CreateInstance(typeof(T)) as IHttpHandler;
    if (handle == null) return false;
    handle.ProcessRequest(context);
    context.Response.End();
    return true;
}

说明:这是一个泛型方法,T代表你用于处理某个路径的继承自IHttpHandler的自定义类,参数ext是这个处理类所处理的请求路径的扩展名(含“.”号)。

二,在global.asax中实现Application_BeginRequest方法,并在该方法中调用TryHandler。如:

protected void Application_BeginRequest(object sender, EventArgs e)
{
    if(TryHandler(".do")) return;
}

注:该处理方案具有通用性,能同时兼容 Windows IIS和 Linux Jexus或XSP。

感谢各位的阅读,以上就是“Linux ASP.NET MVC网站中httpHandlers配置无效怎么办”的内容了,经过本文的学习后,相信大家对Linux ASP.NET MVC网站中httpHandlers配置无效怎么办这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


网页标题:LinuxASP.NETMVC网站中httpHandlers配置无效怎么办
URL网址:http://azwzsj.com/article/pipicg.html