breeze 1.3.6无法获取元数据

时间:2013-06-24 11:07:24

标签: breeze hottowel

利用微风的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';

它仍然失败并出现与上述相同的错误。

1 个答案:

答案 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."