Попытка использовать HTTPModule, который я написал в совместимом проекте класса C #, для регистрации значений запросов и расширения сторонней корзины покупок CGI. Мой модуль прекрасно работает с запросами asp, asp.net, jpg и html, но как только я запрашиваю store.cgi, я получаю следующую ошибку. Нужно ли делать что-то особенное в IIS7 или HTTPModule не работает с исполняемыми файлами CGI, работающими в CGI-BIN?
Ошибка сервера в приложении '/ cgi-bin'.
Не удалось загрузить тип 'IISWatcher.WatchRequests'.
Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении: System.Web.HttpException: не удалось загрузить тип 'IISWatcher.WatchRequests'.
Исходный код:
using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
using System.Messaging;
namespace IISWatcher
{
public class WatchRequests : IHttpModule
{
public void Init(System.Web.HttpApplication app)
{
app.BeginRequest += new EventHandler(app_BeginRequest);
app.EndRequest += new EventHandler(app_EndRequest);
}
void app_EndRequest(object sender, EventArgs e)
{
//HttpApplication app = (HttpApplication)sender;
}
void app_BeginRequest(object sender, EventArgs e)
{
string strReturn = "\r\n";
HttpApplication app = (HttpApplication)sender;
string strAddress = app.Request.UserHostAddress;
string strUrl = app.Request.Url.AbsoluteUri;
string strQS = app.Request.QueryString.ToString();
RequestInfo ri = new RequestInfo();
System.Diagnostics.EventLog.WriteEntry("HttpModule",
"IpAddress: " + strAddress + strReturn + "URL:" + strUrl);
System.Messaging.MessageQueue msq = new MessageQueue(@".\private$\HttpModuleQueue");
ri.AbsoluteUri = strUrl;
ri.IPAddress = strAddress;
ri.QueryString = strQS;
msq.Send(ri);
}
public void Dispose()
{
}
}
public class RequestInfo
{
public string IPAddress;
public string AbsoluteUri;
public string QueryString;
}
}
Web.config для IIS7:
...................