我正在尝试使用Grapevine让我的.NET应用程序与网页进行交互。我目前正在学习中。
我有以下 REST 路由代码:
<RestRoute(HttpMethod:=HttpMethod.[GET], PathInfo:="/controller")>
Public Function PlayerControl(ByVal context As IHttpContext) As IHttpContext
Dim word = If(context.Request.QueryString("word"), "what?")
Console.WriteLine(word)
context.Response.SendResponse(word)
Return context
End Function
在我的网络表单上,我有:
<form action="http://localhost:1234/controller" method="post">
<input type="submit" name="?word=play" value="PLAY"/>
</form>
帖子到达我的申请。我可以在控制台窗口中看到它。但它始终到达默认路由:
<RestRoute>
Public Function HelloWorld(ByVal context As IHttpContext) As IHttpContext
Console.WriteLine(context.ToString)
context.Response.SendResponse("Message arrived at dfault window")
Return context
End Function
我做错了什么?
默认路由在玩家控制路由之前注册。一旦默认路由响应,就不会调用玩家控制路由。
删除默认路由,或者(如果您使用的是默认路由扫描程序而不是手动注册路由(确保默认路由方法位于类中的 playercontrol 路由之后。如果这些路由不在同一类中,请确保具有默认路由的类是