2009-06-09 46 views
0

我的生產環境中出現標準問題超時異常,因此在90秒後,線程將被終止。對於我的網站的絕大多數,這不是一個問題。將web.config文件放在視圖目錄中

但是,我的站點地圖生成器是規則的例外。

因爲它依賴於應用程序中創建的路線,所以我選擇在項目中創建它,因爲它從應用程序加載所有路線,然後有效地使用自定義的Html.Action生成每條路線。

因爲創建整個站點地圖需要相當長的時間(最後一次計算5分鐘),所以在它有機會完成之前,我會得到一個YSOD。現在,在web表單,我只是用location element創建該頁面在目錄中的web.config,和一個可愛的小處理器:

<configuration> 
    <location path="sitemapgenerator"> 
    <system.web> 
     <httpRuntime executionTimeout="600" /><!-- Ten minutes --> 
    </system.web> 
    </location> 
</configuration> 

,而不實際創建這個配置文件,我相信,這不僅不會起作用,而且它在MVC中也是非常糟糕的做法,因爲它會將站點地圖生成器的命名限制爲配置文件中設置的任何內容,而不僅限於路由。

我可以確保路由和配置文件保持最新,如果我需要改變它,但這只是在MVC中看起來很混亂。

任何人都可以給我任何關於這方面的建議,以及這個web.config方法是否會工作?

非常感謝提前。

更新:我已經做了這方面的測試,不,它不工作,所以我沒有後備解決方案。 :)

回答

3

您是否嘗試過在站點地圖生成器的初始化中設置scriptTimeout屬性?

Server.ScriptTimeout = 600;

+0

是的,這將是票! :D – 2009-06-09 14:32:26

相關問題