2013-09-23 163 views
0

玩弄Web.API 2.0的東西 - 特別是屬性路由。 docs指出你可以按照慣例具有屬性路由和1.0路由......但是這兩者看起來並沒有很好地協調起來。例如,假定這兩種方法:屬性路由與約定

public override HttpResponseMessage PutModel(SampleForm form) 

[HttpPut("approvesampleform/{form}")] 
public string ApproveSampleForm([FromBody]SampleForm form) 

雖然我可以叫http://localhost/api/sampleform/approvesampleform就好了,一個PUThttp://localhost/api/sampleform/生成Multiple actions were found that match the request錯誤。

有什麼辦法,如果一個方法被標記爲屬性路由它會被忽略的約定?這將是理想的......但我不認爲有任何方法在文檔中實現這一點。

注意:我沒有看到一個asp.net-web-api-2標籤。也許有超過1500名代表的人可以創建它?

回答

1

對,RC(發佈候選版)沒有傳統路由無法訪問屬性控制器/操作的邏輯。這個改變是RC後的。您正在嘗試的場景在後RC位中可以正常工作。

可能您提到的文檔不是很清晰,但我認爲它們意味着您可以使用基於常規和常規的控制器並行工作,而不是特別將混合屬性和常規語義混合到同一控制器中。

暫時你可能只能使用上面提到的控制器的屬性路由。

+0

那麼這是真棒,RC後,這個作品就像我希望:) – Nicros

+0

我在哪裏可以找到那些位(如果我可以)我使用RC1版本。 – Nicros

+0

我很快就會通知你。 –