Javascript Breeze.js-使用早期版本的WebApi 404错误';ExecuteQuery的语法
在以前版本的breeze.js(针对MVC4、EF5和webapi1)中,我将定义EntityManagerJavascript Breeze.js-使用早期版本的WebApi 404错误';ExecuteQuery的语法,javascript,asp.net-web-api,breeze,Javascript,Asp.net Web Api,Breeze,在以前版本的breeze.js(针对MVC4、EF5和webapi1)中,我将定义EntityManager var em = new breeze.EntityManager('breeze/MyWebApiController'); breeze完美地生成了我到ExecuteQuery(“TestMethod”)的路径: “breeze/MyWebApicController/TestMethod” 但现在,在当前版本的breeze.js中,使用MVC5、EF6和WebApi2,Web
var em = new breeze.EntityManager('breeze/MyWebApiController');
breeze完美地生成了我到ExecuteQuery(“TestMethod”)的路径:
“breeze/MyWebApicController/TestMethod”
但现在,在当前版本的breeze.js中,使用MVC5、EF6和WebApi2,WebApi控制器的同一个ExecuteQuery(“TestMethod”)使用404失败,因为breeze错误地生成了路径,路径前缀是视图的子文件夹名,如下所示:
"MyViewsFolderName/breeze/MyWebApiController/TestMethod"
我成功调用WebApi2 Breeze控制器方法的唯一方法是在创建EntityManager时指定一个dataservice变量,如:
这是一个bug还是我误解了如何将breeze用于WebApi2这听起来像是Web API路由问题而不是breeze问题。请显示您的routeConfig.cs。请确定您正在使用的特定breeze版本(以前和现在),以及您正在与Web API还是Web API OData(您正在使用的适配器)对话。最近在这方面没有发生任何变化。。。除非你说的是Web API OData。。。在这种情况下,他们每次都违反协议。
var path = location.protocol + "//" + location.host + '/';
var dataServiceTest = new breeze.DataService({
serviceName: path + 'breeze/MyWebApiController',
hasServerMetadata: false,
});
var em = new breeze.EntityManager({ dataService: dataServiceTest });