Журнал трафика (включая опубликованные данные) IIS 6.0 - Windows Server 2003 - PullRequest
1 голос
/ 27 мая 2010

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

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

Спасибо!

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

Christian

1 Ответ

0 голосов
/ 28 мая 2010

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

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();
    }

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...