2012-05-10 20 views
1

我正在尝试编写一个Web应用程序,如果请求来自浏览器,它将生成一个文件,但是如果它来自另一个源(例如,Windows服务击中网站以获取响应),它只会返回生成的响应。检查浏览器是否存在于ASP.NET中

会这样吗?

if (Request.Browser == null) 
{ 
    Response.Write(response); 
} 
else 
{ 
    Response.Write("You're in a browser. Go Away."); 
} 
+4

你试过看看它是否有效? –

+0

不知道如何在没有浏览器的情况下击中网站进行测试。 – brazilianldsjaguar

回答

2

这取决于你希望它有多安全/可靠。假设你可以控制Windows服务,一个简单的方法是让它指定一个特定的用户代理字符串。然后这样一个简单的检查就足够了:

if (Request.UserAgent == "MyWindowsService") 
{ 
    Response.Write(response); 
} 
else 
{ 
    Response.Write("You're in a browser. Go Away."); 
} 
+0

谢谢Rob!我无法控制服务,但是我能够以不同的方式解决问题(将所有这些要求一并删除:P)。 – brazilianldsjaguar

+0

很高兴你解决了! –

相关问题