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

Спасибо, Роб! У меня нет контроля над сервисом, но я смог решить проблему по-другому (с помощью этого требования все вместе: P). – brazilianldsjaguar

+0

Рад, что вы решили! –