Я разработал приложение WinForms, которое у меня показывает пропускную способность одного сайта IIS с помощью LogParser. Это работало довольно хорошо.Ошибка LogParser в WebApp
Я теперь написал точно такую же вещь в ASP.net, но следующее исключение: Не удается найти файл сопоставления «C: \ Inetpub \ журналы \ LogFiles \ W3SVC4 \ ех * .log»
Исключение составляет, так как все наши файлы журнала имеют префикс 'u_ex', а не 'ex' (по умолчанию настройки IIS по умолчанию). Странно, что он работает, когда запускался из приложения WinForms, а не при вводе в WebApp.
Кто-нибудь знает, почему это происходит и как я могу это исправить?
Спасибо!
Вот патрон кода я использую:
private void UpdateByDateRange(DateTime dateFrom, DateTime dateTo)
{
string siteId = Request.ServerVariables["INSTANCE_ID"];
LogQueryClassClass logger = new LogQueryClassClass();
COMIISW3CInputContextClass inputContext = new COMIISW3CInputContextClassClass();
string query = "SELECT SUM(TO_REAL(sc-bytes)) AS sentTotal, SUM(TO_REAL(cs-bytes)) AS receivedTotal FROM <" + siteId + "> WHERE TO_TIMESTAMP(date, time) >= TO_TIMESTAMP('" + dateFrom.ToString("yyyy-MM-dd HH:mm:ss") + "', 'yyyy-MM-dd HH:mm:ss') AND TO_TIMESTAMP(date, time) <= TO_TIMESTAMP('" + dateTo.ToString("yyyy-MM-dd HH:mm:ss") + "', 'yyyy-MM-dd HH:mm:ss')";
ILogRecord record = logger.Execute(query, inputContext).getRecord();
decimal trafficSent = decimal.Parse(record.getValue("sentTotal").ToString());
decimal trafficReceived = decimal.Parse(record.getValue("receivedTotal").ToString());
// ...
}
Спасибо за ваш ответ. Я уверен, что мои права верны с a) Безопасность была первой проблемой, с которой я столкнулся, и исправил ее до того, как столкнулся с этой проблемой. и b) Исключение составляет sence (нет файлов с префиксом ex) – 2009-10-07 08:30:34