0
考慮下面這個簡單的網頁API,我已經從一個教程採取(不是一個MVC項目,只是一個空的ASP.NET網站的一部分):MapHttpRoute VS圖路線基本POST的WebAPI
Public Class AwesomeController
Inherits ApiController
Public Function [Get]() As String
Return "Hello. The time is " & DateTime.Now.ToString
End Function
Public Function Post(<FromBody> yourName As String) As String
Return String.Format("Hi {0}, you posted here at {1}", yourName, DateTime.Now.ToString)
End Function
End Class
我Global.asax的內創建路線是這樣的:
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
GlobalConfiguration.Configuration.Routes.Add("default", New HttpRoute("{controller}"))
End Sub
這工作得很好,但我讀過的WebAPI路由最好使用MapHttpRoute創建,以便服務可以孤立存在。這是真的?
如果是這樣,任何人都可以發佈代碼來替換我的global.asax版本嗎?
更新
我想通了最後一位,但仍感激知道是否有一個「正確」的方法是什麼?
RouteTable.Routes.MapHttpRoute("default", "{controller}")
謝謝你。作爲路由新手,我沒有看到兩者之間的巨大差異。你說'MapHttpRoute'是速記,但是有沒有例子說明這對原始方法真的有用?是否還有其他原因?MapHttpRoute是通過一項節省時間的練習而開發的? – EvilDr
@EvilDr MapHttpRoute可以更容易地指定其他參數,例如使用動態類型(而不是'HttpRouteValueDictionary'等)的默認路由值和約束。當你想指定一個自定義路由特定的'HttpMessageHandler'時,你將需要使用'HttpRoute'實例(參見http://aspnetwebstack.codeplex.com/SourceControl/latest#src/System.Web.Http/Routing/HttpRoute。 CS)。 –
好,太好了,謝謝 – EvilDr