我想拦截对服务器发送的任何对XML文件的请求。我认为这可能是一个HttpHandler。它的编码和它的工作...只在本地主机(?!?!)。HttpHandler和XML文件
那么,它为什么只在localhost上工作?这里是我的web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<httpHandlers>
<add verb="*" path="*.xml" type="FooBar.XmlHandler, FooBar" />
</httpHandlers>
</system.web>
</configuration>
这里是我的C#:
namespace FooBar
{
public class XmlHandler : IHttpHandler
{
public bool IsReusable
{
get { return false; }
}
public void ProcessRequest(HttpContext context)
{
HttpResponse Response = context.Response;
Response.Write(xmlString);
}
}
}
正如你可能已经看到,我直接在回复中写的xmlString,这只是暂时的,因为我仍然想知道如何才能给文件名,而不是(这是第二个问题;))
应该写在响应是什么只有xml文件名,将由Flash应用程序检索。
感谢
详情:
的Windows服务器上使用IIS 6.0 2003
编辑:
调用从它看起来像它没有得到的HttpHandler的另一台计算机的页面时。但是,IIS的映射已正确完成。
您的代码看起来不错。当你说它在localhost上不工作时,究竟是什么意思?你看到什么(或看不到),告诉你它不工作?你怎么打这个?您是否使用过Fiddler和/或VS调试器来观看请求? – Ray 2010-04-13 14:17:51
@射线:增加细节。如果程序集是ASP.Net网站,这有什么关系? – ALOToverflow 2010-04-13 14:22:35
它应该按照您的设置进行工作。 Stefano的观点是一个检查的好地方 - 如果IIS正在处理请求,而不是将它传递给asp.net,这将是你将看到的。你看到IIS日志中的请求吗? – Ray 2010-04-13 14:26:44