簡體   English   中英

具有約束的屬性路由在本地工作,但在部署時會失敗

[英]Attribute Route with constraint works locally but fails when deployed

我有一個簡單的屬性路由,其中​​包含三個不同的路徑段:

[HttpGet]
[GET("v{version:int}/{category}/{service}")]
public async Task<HttpResponseMessage> RouteMessage(
    string category, string service, int version = 1)
{
}

雖然在本地開發時路由有效,但是當我將其部署到IIS服務器時路由失敗(404)。

失敗的網址:

http://example.com/v1/search/products?client=test

我確定這不是IIS問題,因為我仍然可以使用非屬性路由來訪問服務(請注意,即使v1不是int,參數本身也具有默認值):

http://example.com/api/route/?version=v1&category=search&service=products&client=test

我已經安裝了Route Debugging,並且正如預期的那樣,即使應該,我的路由也不匹配屬性route。

應用程序相對路徑列為~/v1/search/products ,應與網址格式v{version}/{category}/{service}匹配(“ version”也正確列出並帶有int路由約束)。

這是一張帶有完整調試信息的映像 ,以防萬一。

[

感謝@Kiran Challa,我意識到,盡管類似,但是內置的WebAPI屬性路由AttributeRouting.WebApi並不相同。 我切換到內置路由,現在一切正常。

暫無
暫無

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

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