检测webhost服务器

时间:2010-04-29 11:27:55

标签: c# .net-3.5 asp.net-3.5

我有一个使用3.5框架的网络应用程序。我想知道如何检测webhost呈现页面的内容。

如果服务器是localhost,则发送电子邮件通知到test@dev.com 如果服务器是QA,则发送电子邮件至xyz@dev.com

由于

3 个答案:

答案 0 :(得分:1)

您可能最接近的是机器名称:

System.Environment.MachineName

localhost是一个地址,每台机器都可以通过它访问自己(假设有人没有使用hosts文件)。

您可以获取访问该网页的网址:Request.Url.AbsoluteUri。这将告诉您他们最有可能尝试的环境(除非他们使用本地主机访问该网站)。

  

如果服务器是localhost,则发送   电子邮件通知test@dev.com如果   服务器是QA,然后发送电子邮件到   xyz@dev.com

如果您有权访问计算机配置,则更简单的方法是将电子邮件地址放在要向其发送电子邮件的appsettings中。这样你可以根据环境改变它,而不用担心他们试图击中什么机器/网址。

答案 1 :(得分:1)

System.Web.HttpRequest类有一个IsLocal属性,可以告诉你这个。它比使用服务器变量更强大,因为它检查诸如“127.0.0.1”之类的东西。

答案 2 :(得分:0)

假设你的意思是在服务器端进行检测,那么老式的ServerVariables呢?

string serverName = Request.ServerVariables["SERVER_NAME"];
string httpHost = Request.ServerVariables["HTTP_HOST"];

服务器变量的完整列表位于:http://www.aspcode.net/List-of-RequestServerVariables.aspx