2012-05-10 22 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

很高興你解決了! –

相關問題