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 に答える