利用微风的Devcurry hottowelsignalr example工作正常,直到我通过nuget将微风升级到1.3.6。
Chrome中的F12显示它正在尝试从http://localhost/api/breeze/Metadata
检索元数据,而之前它会使用
http://localhost/OnlineCollaborationWithSignalR/api/breeze/Metadata
。这是电话的正确位置。似乎根目录中缺少应用程序的路径。即( OnlineCollaborationWithSignalR )
更新 注意到1.3.1的发行说明。随后将路由更改为
public static class BreezeWebApiConfig {
public static void RegisterBreezePreStart() {
GlobalConfiguration.Configuration.Routes.MapHttpRoute(
name: "BreezeApi",
routeTemplate: "breeze/{controller}/{action}"
);
}
}
和app / viewmodels / home.js到
// service name is route to the Web API controller
var serviceName = 'breeze/Breeze';
from
// service name is route to the Web API controller
var serviceName = 'api/Breeze';
它仍然失败并出现与上述相同的错误。
答案 0 :(得分:2)
您能否确认API会做出相应的响应?
根据你的routeTemplate,它应该是。
http://localhost/breeze/Breeze/Metadata
更新:
是的,如果你的配置是这样的话。它应该是
http://localhost/OnlineCollaborationWithSignalR/breeze/Breeze/Metadata
我不熟悉具体项目,但我下载并更新了它。然后,我进行了您指定的更改,我收到了API的响应。虽然我收到错误(很可能是无关的),但实际上它已正确路由。
对于记录,我得到的错误是:
"The provider for invariant name 'System.Data.SqlClient' is specified multiple times in the application configuration. The invariant name must be unique for each configured provider."