2012-05-10 3 views
1

ブラウザからの要求であればファイルを生成するが、別のソースから来た場合は(たとえば、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!私はサービスのコントロールを持っていませんが、私は別の方法でこの問題を解決することができました。 – brazilianldsjaguar

+0

あなたはそれを解決してうれしい! –

関連する問題