【问题标题】:BreezeJs With Web API OData Returns "404" error when try to read Meta Data informationBreezeJs 与 Web API OData 尝试读取元数据信息时返回“404”错误
【发布时间】:2014-11-03 23:19:01
【问题描述】:

尝试从微风访问 OData 元数据信息时出现 404 页面未找到错误,但如果我将 url 直接放在浏览器上(不使用微风),我可以获得信息。

我的服务器端 OData 实体配置如下所示。

var odataBuilder = new ODataConventionModelBuilder();
odataBuilder.Namespace = "BisService.Entities";
odataBuilder.EntitySet<CompanyDto>("Company").EntityType.HasKey(x => x.Id);
config.MapODataServiceRoute("BisService", "BizService", odataBuilder.GetEdmModel());

我在 Breeze 上使用以下配置。'

var serverAddress = "/BisService/";
breeze.config.initializeAdapterInstance('dataService', 'webApiOData', true);
var manager = new breeze.EntityManager(serverAddress);
var query = breeze.EntityQuery.from("Company");
manager.executeQuery(query, function(data) {
      console.log(data)
});

【问题讨论】:

  • 向我们展示微风客户端发送的 URL(从浏览器开发工具中获取)...带有 404 的那个...然后向我们展示您说有效的 URL。

标签: asp.net-web-api odata breeze


【解决方案1】:

我在尝试使用 odata 实现breezejs 时遇到了类似的问题。

在阅读了微风js.com 上的OData on the Server 文章后,我们认为 Web Api 非常适合我们。

如果您需要继续使用 odata 路径,请参阅 Open Data 文章。

【讨论】:

    【解决方案2】:

    我今天遇到了同样的问题。就我而言,我将其追溯到在请求中添加了以下标头:

    MaxDataServiceVersion: 3.0
    

    这是由datajs 添加的,我的解决方法是注释掉datajs-1.1.2.js 中的以下行:

     if (!assigned(request.headers.MaxDataServiceVersion)) {
         //request.headers.MaxDataServiceVersion = handler.maxDataServiceVersion || "1.0";
     }
    

    这是我拥有的版本中的第 2334 行。

    【讨论】:

      猜你喜欢
      • 2012-10-28
      • 2020-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-03
      • 1970-01-01
      • 2014-11-22
      • 2014-10-18
      相关资源
      最近更新 更多