【问题标题】:Add http headers to Cassini via config通过配置将 http 标头添加到 Cassini
【发布时间】:2013-02-07 18:15:26
【问题描述】:

我们的 asp.net 网站当前部署到 IIS7 服务器。我们正在通过配置文件设置一些 http 标头,例如:

<httpProtocol>
  <customHeaders>
    <remove name="X-UA-Compatible" />
    <add name="X-UA-Compatible" value="IE=EmulateIE7" />
  </customHeaders>
</httpProtocol>

当我在 IIS 下托管我的个人网站时,这对我来说非常有用。我的同事非常愿意继续使用 Cassini 来获得他的开发经验,这意味着我们的自定义标头不会被发送。有没有办法告诉 cassini 发送这些标头?

我宁愿不必编写自定义模块来添加它,也不想在我们网站的每个页面上添加标题。

【问题讨论】:

  • 在开发过程中是否可以进行条件配置? stackoverflow.com/questions/1209183/…
  • 难道 Cassini 仍然是进行本地开发的“首选”方式吗?
  • @ahsteele:我也喜欢在我们部署的相同版本的 iis 下开发。由于 Cassini 基于 IIS6,我更喜欢使用 IIS7。配置不同。

标签: asp.net cassini http-headers


【解决方案1】:

也许你可以在 Global.asax 中添加一个预编译器指令,这样它只会在 DEBUG 模式下编译时添加头文件:

protected void Application_BeginRequest(object sender, EventArgs e)
{
#if DEBUG
    HttpContext.Current.Response.AddHeader("X-UA-Compatible", "IE=EmulateIE7");
#endif
}

生产 RELEASE 编译会忽略这一点,但会继续通过 IIS 中的 web.config 设置添加标头。

【讨论】:

    【解决方案2】:

    此功能包含在 CassiniDev 的下一个版本中,以及其他可能感兴趣的功能。

    【讨论】:

    • 看起来很酷……谢谢。 IIS Express 也应该是比经典 Cassini 更好的选择。
    【解决方案3】:

    您还可以在母版页中添加元标记(例如 Site.Master),Casini 会处理:

        <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-14
      • 2017-10-15
      • 2012-01-04
      相关资源
      最近更新 更多