我有一个HttpHandler
可以执行某些操作,但我希望在本地计算机上运行时不要运行它。现在,当我在Visual Studio中运行站点时,我只是在web.config
文件中注释掉处理程序,并在部署站点时取消注释它:繁琐。我想添加一个条件来检查网站是否在我的本地计算机上运行,如下所示:
public void ProcessRequest(HttpContext context)
{
if (context.Current.Request.Url.Host != "localhost") { DoSomething(); }
}
这是安全还是可能在部署条件时不会触发?
感谢。
答案 0 :(得分:2)
相反,我建议您使用:
HttpContext.Current.Request.IsLocal
答案 1 :(得分:1)
您还可以查看Request.IsLocal
。
检查本地(主机)是否有效取决于您的其他设置,例如当同一台机器上的站点或代理调用它时,可能导致请求看起来来自同一台机器,尽管它实际上是外在的。
现在,我只是在web.config
中注释掉处理程序
听起来您可以使用configuration transform代替,因此处理程序不会包含在部署版本中。