【发布时间】:2009-06-09 13:47:43
【问题描述】:
我在生产环境中遇到标准问题超时异常,90 秒后,线程将被终止。对于我的大多数网站来说,这不是问题。
但是,我的站点地图生成器是一个例外。
因为它依赖于应用程序中创建的路由,所以我选择在项目中创建它,因为它会从应用程序加载所有路由,然后有效地使用自定义的 Html.Action 来生成每个路由。
因为创建整个站点地图需要相当长的时间(最后计数为 5 分钟),所以我在有机会完成之前获得了 YSOD。现在,在 webforms 中,我只需在目录中创建一个 web.config,并使用 location element 为该页面创建一个不错的小处理程序:
<configuration>
<location path="sitemapgenerator">
<system.web>
<httpRuntime executionTimeout="600" /><!-- Ten minutes -->
</system.web>
</location>
</configuration>
如果没有实际创建这个配置文件,我相信这不仅行不通,而且无论如何这在 MVC 中也是非常糟糕的做法,因为它会将站点地图生成器的命名限制为配置中设置的任何内容文件,而不仅仅是路由。
如果我需要更改路由和配置文件,我可以确保它保持最新,但这在 MVC 中似乎很混乱。
谁能给我任何建议,以及这个 web.config 方法是否可行?
非常感谢。
更新:我已经对此进行了测试,不,它不起作用,所以我也没有备用解决方案。 :)
【问题讨论】:
标签: asp.net-mvc web-config timeout sitemap