SlowCheetah - 让它发挥作用

时间:2012-08-17 17:45:52

标签: c# asp.net web-config slowcheetah

我尝试使用SlowCheetah扩展程序,但我似乎无法让它工作。我想我可能错过了某个地方的一步。

我下载了扩展并安装了它。 我创建了我的web.config文件并执行了“添加转换”

为了测试它,我已经在我的项目中使用了ELmah,所以我尝试给它不同的电子邮件地址来发送每个配置的错误日志,而没有在web.config中发送。

的web.config

<elmah>
    <security allowRemoteAccess="0"/>
    <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="C:\myLogPath"/>
    <errorFilter>
      <test>
        <or>
          <equal binding="HttpStatusCode" value="404" type="Int32"/>
          <is-type binding="BaseException" type="System.FieldAccessException" />
        </or>
      </test>
    </errorFilter>
</elmah>

web.debug.config

<elmah>
    <errorMail from="error-debug@domain.tld" to="me@domain.tld" priority="High" xdt:Transform="Insert"/>
</elmah>

所以,当我看“预览变换”时,似乎结果就是我想要的。然后我启动我的应用程序(使用F5或ctrl + F5)并故意在我的网站上引发异常以触发Elmah错误报告,但我从未收到任何电子邮件。如果我在web.config中添加errorMail行,我会收到一封电子邮件,因此问题不是来自Elmah。

正如我所说,我觉得我可能错过了设置扩展的简单步骤。

2 个答案:

答案 0 :(得分:0)

您遇到的问题不是SlowCheetah,而是您如何从Visual Studio启动Web应用程序。

SlowCheetah确实会为您的项目添加必要的MSBuild目标,以便在构建时进行转换,但仅适用于项目输出中包含的内容(即\ bin文件夹)。

构建Web应用程序时,web.config保持不变,只有程序集被复制到\ bin文件夹中。 Visual Studio将启动WebDev服务器并将其指向Web应用程序的根目录。由于您的web.config尚未修改,因此它将始终包含原始内容。

答案 1 :(得分:0)

据我所知,slow-Cheetah目前在调试时支持app.config文件的配置转换,但不支持web.configs。它应该将已转换的web.config文件放在项目的bin文件夹中,但您的项目仍然会从根文件夹中的配置文件中读取。请查看http://sedodream.com/CommentView,guid,68b7e248-b9f5-4d07-bdfe-eb037bcf2cbb.aspx处的解决方法。这对我有用,而不是使用Slow-Cheetah。

您还可以在调试时请求针对Slow-Cheetah的Web配置转换支持 https://github.com/sayedihashimi/slow-cheetah/issues/39他们正在考虑在F5上添加网络支持。