我已經創建了一個示例項目來簡化我的問題。我有這樣的簡單處理:HTTP處理程序使用卡西尼,但不與IIS 6
public class HandleThis : IHttpHandler, IRequiresSessionState
{
public void ProcessRequest(System.Web.HttpContext context)
{
// Score.aspx just says "success"
context.Response.Redirect("Score.aspx");
}
public bool IsReusable { get { return true; } }
}
然後,在我的配置,我有這樣的:
<httpHandlers>
<add verb="*"
path="Survey"
type="HttpHandlerTest.HandleThis, HttpHandlerTest" />
現在,當我打我的http://server/Survey處理火災。
如果我將項目更改爲使用IIS 6運行,它不會觸發(404)。 我手動試圖通過增加在IIS處理程序: - 網站屬性 - 主目錄 - 配置 - 添加(瀏覽到我的網站的.dll文件),擴展:調查結果顯示,取消選中「確認文件是否存在」
我注意到IIS(如此有用)添加了「。」在我的擴展面前,所以我用「b.Survey」打了網站;仍然404.
當然可以在IIS 6中添加一個處理程序?
當我這樣做時,我得到一個完全空的迴應。 – dudeNumber4 2009-06-05 15:49:22
我認爲你實際上沒有被重定向到Score.aspx? 您是否在IIS中使用通配符(*)映射導航到http:// server/survey/URL? – etorrejon 2009-06-05 16:21:47
我剛剛意識到我的問題;在我將可執行文件路徑改爲指向aspnet之後,我需要更正我的配置文件(我在IIS中將擴展名更改爲「.wtf」,因此我需要將配置更改爲path =「*。wtf 「 – dudeNumber4 2009-06-05 16:41:23