如何阅读.html页面中的web.config设置?

时间:2012-04-12 06:01:23

标签: asp.net html web-config

我正在使用ASP.NET 3.5网络表单 我已将我的站点路径存储在web.config中,添加名为“CommonPath”的键 现在我有一个简单的html页面,想在这个静态html页面上使用这个键。 那我该怎么做呢?或者还有其他办法吗?

提前致谢

2 个答案:

答案 0 :(得分:2)

我过去所做的是将“.html”页面注册为动态页面。 (即,就像ASPX一样)。

这可以通过“web.config”文件完成:

....
<system.web>
    <compilation ...>
        <buildProviders>
            <add extension=".html" 
                 type="System.Web.Compilation.PageBuildProvider" />
        </buildProviders>
    ....

....
<system.webServer>
    <handlers>
        <remove name="WebServiceHandlerFactory-Integrated" />
        <add name="PageHandlerFactory-Integrated-HTML" path="*.html" 
             verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" 
             resourceType="Unspecified" preCondition="integratedMode" />
    </handlers>
....

正如Robert指出的,这适用于IIS 7和IIS 7.5(也可能在上面的版本中)。如果您使用的是IIS 6,则必须通过IIS管理控制台执行此操作。

答案 1 :(得分:1)

根据Ramesh和Andrew Barber的评论:最好的方法是将.html文件重命名为.aspx,以便ASP.NET只处理静态文件而不是IIS。向Web服务器添加一个简单的重定向永久规则,以处理旧流量。如果必须按原样保留.html文件,则可以添加重写规则(如果安装了IIS重写模块),将.html文件指向.aspx文件,而无需任何人知道;或者,使用ASP.NET路由来实现相同的效果。