【发布时间】:2013-09-24 11:05:01
【问题描述】:
我是一名长期服务于 ASP.NET VB 网页表单的程序员,但需要开始使用 WebAPI 来创建一个简单的服务。我遵循了http://www.asp.net 上的 PluralSight 教程,并拥有这两个 sn-ps:
HelloApiController.vb
Imports System.Web.Http
Namespace HelloWebApiDemo
Public Class HelloApiController
Inherits ApiController
Public Function [Get]()
Return "Hello from API at " & DateTime.Now.ToString
End Function
End Class
End Namespace
Global.asax.vb
Imports System.Web.Http
Imports System.Web.Http.Routing
Public Class Global_asax
Inherits System.Web.HttpApplication
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
GlobalConfiguration.Configuration.Routes.Add("default", New HttpRoute("{controller}"))
End Sub
End Class
运行时获取信息的URL为:http://localhost:63678/helloapi
谁能解释"{controller}"如何自动映射到上述URL的相关性?我在代码中的任何地方都没有看到 helloapi 这个词。如果我创建了第二个继承 ApiController 的类怎么办 - IIS 将如何区分我想要访问的类?
另外,方法名称[Get]() 是否会自动映射到相应的 HTTP 动词?再说一次,如果我想给它起一个不同的名字会怎样?
谢谢。
【问题讨论】:
标签: asp.net asp.net-web-api asp.net-4.5 asp.net-web-api-routing