检查 ASP.NET 中是否存在浏览器



我正在尝试编写一个 Web 应用程序,如果请求来自浏览器,则会生成一个文件,但如果它来自其他来源(例如,访问站点以检索响应的 Windows 服务),它将只返回生成的响应。

这行得通吗?

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

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

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

最新更新