我想攔截對服務器發送的任何對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