2014-02-18 28 views
0

我承認我已經發布了一個關於我正在觀察的現象的問題,但經過一些更多的研究後,我會從略有不同的角度來看這個問題,然後標記它是不同的:爲什麼IIS 7.5會多次構建一個頁面

我有一個頁面 - WorkflowDetail.aspx - 通過一個類文件的支持 - WorkFlowDetail.aspx.vb。該類繼承自BaseClass1,它繼承自Spring.Web.UI.PageBaseClass1沒有關聯的ASPX,只是一些常見的屬性和方法)。

我設置了一個斷點WorkFlowDetail新建()方法。我發現當我在瀏覽器中創建頁面時,構造函數會運行多次。我很想知道誰在運行它,爲什麼,但堆棧只顯示「[External Code]」。

如果我沒有試圖讓Spring將DAO屬性注入到頁面中,這只不過是空閒的好奇心,或者至多是一個小小的煩惱。什麼情況是,做注射(和一個可以看到所有的堆棧上的方法時,調試器新()停止),但隨後被「[創建的頁面的新副本外部代碼]「,因此當它開始訪問DAO屬性時,它是null,因爲這是與注入屬性的頁面不同的實例。

這一切與發生IIS 7.5集成和內置VS2010一個Web應用程序目標.NET 4.0。在一個頁面羅斯文例子,這是一個網站目標.NET 3.5設置了類似的斷點,當實例的頁面也被擊中,僅此而已。

有人可以告訴我是什麼導致這些額外的實例,或我怎麼能找出?

回答

0

問題原來是因爲我們設置了我們的Telerik RadGrid控件的數據源。我們在ASP代碼中分配它們,導致代碼爲每個任務重新實例化頁面(你會原諒我沒有深入探討爲什麼Telerik這樣做)。

我們通過使用控件'OnNeedDataSource事件來解決此問題,以便稍後設置DataSources。

相關問題