0

鉴于我从教程中获取的以下简单 Web API(不是 MVC 项目的一部分,只是一个空的 ASP.NET 站点):

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

这很好用,但我读过最好使用 MapHttpRoute 创建 WebAPI 路由,以便服务可以独立存在。这是真的?

如果是这样,任何人都可以发布代码来替换我的 global.asax 版本吗?

更新

我想出了最后一点,但仍然希望知道是否有“正确”的方法?

RouteTable.Routes.MapHttpRoute("default", "{controller}")
4

1 回答 1

3

MapHttpRoute扩展方法只是一种HttpRoute在路由表中注册实例的便捷方法。HttpRoute不过,在不使用速记方法的情况下手动创建和注册一个是完全可以的。

如果您想了解 的内部工作原理MapHttpRoute,请查看源代码:HttpRouteCollectionExtensions.cs

于 2013-09-25T11:28:28.200 回答