1. 程式人生 > >微軟 URLRewriter重寫地址報錯:未將物件引用設定到物件的例項。 URLRewriter\RewriterFactoryHandler.cs:行號 38 解決方案

微軟 URLRewriter重寫地址報錯:未將物件引用設定到物件的例項。 URLRewriter\RewriterFactoryHandler.cs:行號 38 解決方案

這個錯經常在伺服器上出現。後來慢慢發現,重啟伺服器之後一段時間不會報錯。但是還是找不到解決辦法。最終百度終於找到了問題所在,因為快取過期了,導致出錯。

下載原始碼,找到報錯的地方:

F12進去GetConfig這個方法裡面。

	public static RewriterConfiguration GetConfig()
		{
			if (HttpContext.Current.Cache["RewriterConfig"] == null)
				//HttpContext.Current.Cache.Insert("RewriterConfig", ConfigurationSettings.GetConfig("RewriterConfig"));
            HttpContext.Current.Cache.Insert("RewriterConfig", ConfigurationSettings.GetConfig("RewriterConfig"), null, DateTime.Now.AddYears(100), TimeSpan.Zero, CacheItemPriority.High, null);
            return (RewriterConfiguration) HttpContext.Current.Cache["RewriterConfig"];
		}

註釋的地方是原來的程式碼,下面哪一行程式碼是我修改之後加入快取時間的程式碼,把這句程式碼代替原來的程式碼即可解決問題。