1
我正在尝试使用Durandal,Breeze和knockout来实现WebApi OData。但我总是得到以下错误:Breeze.js WebApi OData和Durandal
无法初始化OData。需要支持远程的OData服务
我创建一个视图模型:
var my = {}; //my namespace
$(function() {
var serverAddress = "/odata/";
breeze.config.initializeAdapterInstances({ dataService: "OData" });
var manager = new breeze.EntityManager(serverAddress);
my.vm = {
customers: ko.observableArray([]),
load: function() {
var query = breeze.EntityQuery.from("Customers");
manager.executeQuery(query, function (data) {
var results = data.results;
$.each(data.results, function (i, c) {
my.vm.customers.push(c);
});
});
}
}
my.vm.load();
ko.applyBindings(my.vm);
});
在BreezWebApiConfig提到:
public static void RegisterBreezePreStart() {
GlobalConfiguration.Configuration.Routes.MapHttpRoute(
name: "BreezeApi",
routeTemplate: "api/{controller}/{action}"
);
}
和注册的WebAPI:
public static void Register(HttpConfiguration config)
{
config.Routes.MapODataRoute("odata", "odata", GetEdmModel());
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
请建议我,如果任何人有这个想法。