Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Breeze.js-使用早期版本的WebApi 404错误';ExecuteQuery的语法_Javascript_Asp.net Web Api_Breeze - Fatal编程技术网

Javascript Breeze.js-使用早期版本的WebApi 404错误';ExecuteQuery的语法

Javascript 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

在以前版本的breeze.js(针对MVC4、EF5和webapi1)中,我将定义EntityManager

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 });