簡體   English   中英

如何使用IHttpHandler處理所有請求?

[英]How do I handle all requests with an IHttpHandler?

我試圖建立一個精簡的Web服務器,該服務器將所有URL請求都傳遞到單個IHttpHandler,而不是嘗試將URL與服務器的文件結構進行匹配。

我那里有IHttpHandler以及一些自定義模塊,當我直接進入我的域時,它們正在按預期方式響應,但是如果我通過以下方式訪問該站點:

http://mysite/some/random/url

我收到404文件未找到錯誤。

我以為刪除這些模塊之一可能會覆蓋它:

        <remove name="UrlRoutingModule-4.0" />
        <remove name="UrlMappingsModule" />
        <remove name="FileAuthorization" />
        <remove name="UrlAuthorization" />

但是IIS仍在嘗試將URL與服務器文件結構進行匹配。 從那以后,我刪除了我不使用的每個模塊,並且仍然返回404。

我以前實際上已經做過,但是我似乎不太記得或在網上找不到我是如何工作的。

我現在基本上沒有主意了-有人嗎?

我根據@Alexei Levenkov的建議添加了runAllManagedModulesForAllRequests。 盡管我記得確實需要這樣做,但並沒有立即解決。 經過一番擺弄之后,我發現IIS已設置:

resourceType="Either"

在處理程序上。 我測試了將其更改為File的問題,該問題已針對文件類型的URL進行了修復,但當然不適用於文件夾“樣式”的URL。 更改為:

resourceType="Unspecified"

解決了所有URL的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM