0

我正在我的应用程序中使用自定义 IHttpHandler。它在 IIS 5 中运行良好。但现在我们正在迁移到 IIS 7,所以我们购买了 2008 R2 服务器。在这里它不起作用。请帮助。您可以通过 maheswaran@lucidindia.com 与我联系。提前致谢。这是我的自定义处理程序代码:

公共类 WebRequestHandler : IHttpHandler, IRequiresSessionState
{
private void ProcessDataRequest(HttpContext context)
{
Controller controller = new Controller();
控制器.ProcessDataRequest(上下文);
}

区域 IHttpHandler 成员


public bool IsReusable
{
get { return true; }
}


public void ProcessRequest(HttpContext context)
{
var segments = context.Request.Url.Segments;
var request = 段[segments.Length - 1];

context.Response.Expires = -1;

switch (request)
{
case "data.lst": this.ProcessDataRequest
(context);
返回;
}
}

端区




我这样打电话。

this.client = new WebClient();
this.client.DownloadProgressChanged += this.OnProgressChanged;
this.client.OpenReadCompleted += this.OnDataAvailable;
this.client.OpenReadAsync(new Uri("../data.lst?viewerID=viewer", UriKind.Relative), "GET");
但是发布后不会在 IIS 7 中调用 ProcessRequest(HttpContext context) 方法。
欢迎回复本帖。提前致谢。
这是我的 web.config 内容:配置>
appSettings>
add key="ChartHttpHandler" value="Storage=memory;Timeout=180;Url=~/temp/;"/>
connectionStrings/>
system.web>
profile>
properties>
添加 name="searchSettings" defaultValue="" type="System.String"/>
/properties>
/profile>
sessionState timeout="2">
/sessionState>
编译调试="true" targetFramework="4.0">
程序集>
添加assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=B77A5C561934E089"/>
认证模式="Windows"/>

httpHandlers>
add verb="GET,POST" path="*.lst" type="App_Code.WebRequestHandler"/>
/httpHandlers>
页面 controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
系统。webServer>
验证 validateIntegratedModeConfiguration="false"/>
处理程序>
添加 name="WebRequests" 动词=" " path=". lst" modules="IsapiModule"
scriptProcessor="%path%\aspnet_isapi.dll" ype="App_Code.WebRequestHandler"/> /handlers>
/system.webServer>
system .serviceModel>
行为>
serviceBehaviors>
/serviceBehaviors>
/behaviors>
services>
/services>
/system.serviceModel>
/configuration>

4

1 回答 1

0

查看相关问题HttpHandler not working in IIS 7

要恢复,请使用 <system.webServer> <handlers>...

于 2011-01-09T15:22:12.997 回答