1

我們有一個使用.NET編寫的使用C#中的WebForms編寫的大型Web應用程序,我們有一個奇怪的問題。希望有人能幫助。我們有一個運行IIS7的測試環境,每當我們上傳修改後的文件(.aspx,.aspx.cs,.ascx,.ascx.cs等)時,我們在嘗試訪問修改過的頁面時會遇到以下異常 - 但只有大約30秒。然後應用程序正常運行。.NET網站編譯期間出現間歇性的NullReferenceException

[NullReferenceException: Object reference not set to an instance of an object.] 
    System.Web.Script.Services.WebServiceData.GetWebServiceData(HttpContext context, String virtualPath, Boolean failIfNoData, Boolean pageMethods, Boolean inlineScript) +251 
    System.Web.Script.Services.PageClientProxyGenerator.GetClientProxyScript(HttpContext context, IPage page, Boolean debug) +49 
    System.Web.UI.ScriptManager.RegisterServices() +511 
    System.Web.UI.ScriptManager.OnPagePreRenderComplete(Object sender, EventArgs e) +120 
    System.Web.UI.Page.OnPreRenderComplete(EventArgs e) +8699694 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1029 

正如你可以看到它似乎是一個Web服務無法初始化,因爲什麼是null,HttpContext也許?!

這種情況只發生在這個測試環境中,它發生在我們本地的機器上,但很少發生。它從不在生產環境中發生。我原本以爲這跟我們使用的AJAX控件工具有關。我找不到任何關於它的文檔,除了少數沒有回覆的論壇主題外。

不完全確定我可以如何進一步縮小此範圍。我們在同一臺機器上運行的臨時環境不會遇到問題。我可能會在IIS中創建一個新站點,並指出它是否有幫助,歡迎提供任何建議。

一如既往,感謝您的時間。

+0

原來,在主頁面中,如果Ajax Control Toolkit的ToolkitScriptManager上的EnablePageMethods設置爲「false」,問題就會消失。必須是幕後管理員使用的某種服務!停止使用它的所有未來項目 - 使用MVC的jQuery UI而不是:) – greg84 2012-01-23 14:43:22

回答

0

如果只是在更新文件時發生,則可能是因爲執行此操作時發生了重新編譯。如果它是一個大型網站,情況尤其如此。我有類似的問題,發生在我自己的網站上。至於爲什麼它只出現在某些地方,恐怕我沒有答案。