2010-05-27 3 views
1

Я понимаю, что IIS регистрирует части HTTP-запроса, к которому я могу получить доступ. Я хотел бы записать весь HTTP-запрос на короткий промежуток времени. Это означает, что я хотел бы сохранить данные, размещенные в его исходной форме. Возможно ли это с помощью средства ведения журнала ISS или мне нужно установить другой инструмент?трафик журнала (включая опубликованные данные) IIS 6.0 - сервер Windows 2003

У меня есть следующая проблема. Я предоставляю «спокойный веб-сервис» через asp.net mvc, который хранит размещенные данные в реляционной базе данных. Я тестировал службу через javascript. Я url закодировал некоторые данные и опубликовал их с помощью jquery. Данные хранятся url, закодированные в базе данных, как и ожидалось. Некоторые клиенты также публикуют данные, используя unix и wget, к одному и тому же веб-сервису. К сожалению, данные не хранятся в кодировке url (поэтому мы теряем некоторые данные, если они содержат специальные символы, такие как &). Они утверждают, что отправляют кодированный URL-адрес данных. Это может быть так? Является ли механика сообщения wget отличным от сообщения javascript? Есть ли слой, который я пропускаю? Я хотел бы дважды проверить, действительно ли данные, передаваемые через wget, закодированы в url.

Спасибо!

С наилучшими пожеланиями,

христианских

ответ

0

Вы можете создать фильтр действий MVC, вы могли бы иметь доступ к объекту запроса и вытаскивать интересные биты. Затем вы можете сохранить эту информацию в текстовом файле или в базе данных регистрации. Раньше я использовал этот подход, и он хорошо работает, если вы выполняете операцию сохранения в базе данных, чтобы не замедлить работу общего запроса.

public class LogRequest : ActionFilterAttribute, IActionFilter 
{ 
    #region IActionFilter Members 

    void IActionFilter.OnActionExecuting(ActionExecutingContext var) 
    { 
    //code goes here 
    } 

    #endregion 
} 


    [AcceptVerbs(HttpVerbs.Get)] 
    [LogRequest()] 
    public ActionResult Index() 
    { 
     return View(); 
    } 

Вы задали здесь два вопроса, я не знаю о второй части.

+0

Спасибо, я думал об этом, но я искал что-то, чтобы просмотреть трафик (включая опубликованные данные), прежде чем он попадет на IIS/ASP.NET. Кажется, что некоторый слой автоматически расшифровывает данные до того, как он попадет на iis. Это имеет смысл? Извините, если мой вопрос недостаточно ясен – cs0815

+0

Можете попробовать попробовать сайт вопроса, например serverfault, тогда stackoverflow предназначен для программирования вопросов. Я не очень разбираюсь в протоколе IIS или серверных программах. Возможно, запущенный WireShark на сервере позволит вам обнюхивать пакеты? – Phil

Смежные вопросы