问题描述
我通过实现IHttpHandlerFactory接口来完成URL的重定向,程序跑通没有问题,但后来发现,每次访问都会进来两次,也就是说访问任何一个页面都已相同的URL进来两次,不知道问什么,而且页面也会加载两次,有没有遇到过类似的问题?
解决方案
解决方案二:
publicvirtualIHttpHandlerGetHandler(HttpContextcontext,stringrequestType,stringurl,stringpathTranslated)主要实现了这个函数,现在发现每次进入这个函数时有一点不同第一次进入context.Request.Url和context.Request.UrlReferrer是不一样的,第二次进入就都一样了,这说明,第一次进入时访问进的,第二次进是自身访问的。
解决方案三:
基本代码如下:publicvirtualIHttpHandlerGetHandler(HttpContextcontext,stringrequestType,stringurl,stringpathTranslated){SiteInfosite=...(context.Request.Url.AbsoluteUri);//根据URL得到对应的Site,支持二级域名搜索if(site==null)//如果没有找到该域名,证明他是第一次被访问,则进入初始化界面{sendToURLString="/admin/install.aspx";}else{//得到实际URL路径sendToURLString//得到运行所需要的参数urlParams}stringfilePath=context.Server.MapPath(sendToURLString);//物理地址context.RewritePath(sendToURLString,String.Empty,urlParams);returnPageParser.GetCompiledPageInstance(sendToURLString,filePath,context);}
解决方案四:
自己顶一下吧!