检查网站日期,发现内容如下:
System.NullReferenceException: 未将对象引用设置到对象的实例。 在 URLRewriter.ModuleRewriter.Rewrite(String requestedPath, HttpApplication app) 在 URLRewriter.BaseModuleRewriter.BaseModuleRewriter_AuthorizeRequest(Object sender, EventArgs e) 在 System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
URLRewriter是一个开源的Url重写的东东,当然现在可能用的人少了。
网上找到一篇类似的:http://www.cnblogs.com/notus/archive/2007/07/04/710493.html,不过貌似他的问题是在应用层去解决的。
所以看还是看了下URLRewriter的源码。
修改如下,上代码,不说话。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 |
public
static RewriterConfiguration GetConfig() { //old //if (HttpContext.Current.Cache["RewriterConfig"] == null) // HttpContext.Current.Cache.Insert("RewriterConfig", ConfigurationSettings.GetConfig("RewriterConfig")); //return (RewriterConfiguration) HttpContext.Current.Cache["RewriterConfig"]; //第一次改动:以为被GC回收了,加个引用。发现还是有错,想当然了。 //var tmp=HttpContext.Current.Cache["RewriterConfig"]; //if (tmp == null) //{ // HttpContext.Current.Cache.Insert("RewriterConfig", ConfigurationSettings.GetConfig("RewriterConfig")); // tmp = (RewriterConfiguration)HttpContext.Current.Cache["RewriterConfig"]; //} //return (RewriterConfiguration)tmp; //第二次改动 if
(HttpContext.Current.Cache[ "RewriterConfig" ] == null ) HttpContext.Current.Cache.Insert( "RewriterConfig" , ConfigurationSettings.GetConfig( "RewriterConfig" ), null ,DateTime.MaxValue,Cache.NoSlidingExpiration); return
(RewriterConfiguration)HttpContext.Current.Cache[ "RewriterConfig" ]; } |
关于URLRewriter报错:System.NullReferenceException: 未将对象引用设置到对象的实例 的解决,布布扣,bubuko.com
关于URLRewriter报错:System.NullReferenceException: 未将对象引用设置到对象的实例 的解决
原文:http://www.cnblogs.com/bigbigworld/p/3715817.html