我正在尝试使用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我做错了什么?
发布于 2020-11-04 05:55:48
您的默认路由在playercontrol路由之前注册。一旦默认路由响应,将不会调用playercontrol路由。
删除默认路由,或者(如果使用默认路由扫描程序而不是手动注册路由)确保默认路由方法位于类中playercontrol路由之后。如果这些路由不在同一类中,请确保具有默认路由的类为
https://stackoverflow.com/questions/62414884
复制相似问题