asp.net-web-api C 在WebApi OData中为OData服务文档基URL提供一个尾部斜杠
我正在使用WebApi设置OData服务,System.Web.Http.OData.Builder.ODataConventionModelBuilder和控制器继承自System.Web.Http.OData.O
如何在OData服务文档的根元素中控制基本URL属性? 我正在使用WebApi设置OData服务,System.Web.Http.OData.Builder.ODataConventionModelBuilder和控制器继承自System.Web.Http.OData.ODataController 这一切都很美妙,Excel 2013愉快地访问数据. 尝试使用Excel 2010和PowerPivot时出现问题.我知道在没有Accept标头的情况下发送的JSON格式响应的fix,但我找不到任何有关基本URL问题的讨论. 我用config.Routes.MapODataRoute(“odata”,“odata”,builder.GetEdmModel())设置了我的odata路径;当我点击此URL时,我收到< service xml:base =“http:// localhost / odata”xmlns =“http://www.w3.org/2007/app”xmlns:atom =“http的响应://www.w3.org/2005/Atom“/> Excel 2010 PowerPivot读取此URL并确定由于基URI上没有尾部斜杠,因此它应该在根目录中请求具有URI的集合,例如,http:// localhost / Products而不是http:// localhost / odata / Products. 我通过访问服务文档的静态版本来确认我的怀疑,修改后将尾部斜杠添加到基本属性值,然后为集合资源请求正确的URL. 我已经尝试通过ASP.Net WebStack源代码来查看我是否可以覆盖格式化程序或其他东西,但是迷路了.任何建议将不胜感激. 解决方法 我和PowerPivot有同样的问题,我设法修复了xml:base以与之兼容.这是所需代码的一部分: class MyODataPathHandler : DefaultODataPathHandler { public override string Link(ODataPath path) { if (path.PathTemplate == "~") { return path.ToString() + "/"; } return base.Link(path); } }和 config.Routes.MapODataRoute("odata","odata",builder.GetEdmModel(),new MyODataPathHandler(),ODataRoutingConventions.CreateDefault());自定义ODataPathHandler将为默认路径添加额外的斜杠,这将导致xml:base解决PowerPivot中的错误.第二个问题是PowerPivot期望XML中的数据,而不是JSON中的数据.其中一个解决方法可以在http://aspnetwebstack.codeplex.com/workitem/820找到 (编辑:益阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 使用IIS基本身份验证的OWIN身份验证
- asp.net中XML如何做增删改查操作
- asp.net – Ajax上的Identity Server 3 – 401而不是302
- asp.net-mvc – 从页面到局部视图的asp.net mvc参数
- asp.net-core – 构建asp.net核心错误
- asp.net-mvc – 如何从剃刀视图访问My.Resources
- asp.net Xml绑定到数据控件的具体实现
- ASP.NET Core 2.0中Razor页面禁用防伪令牌验证
- 并行运行ASP.NET Webforms和ASP.NET MVC
- asp.net-mvc C LabelFor和TextBoxFor不生成相同的id
- asp.net-mvc-3 – 剃刀引擎 – 如何根据不同的条
- 如何为Asp.Net中的所有子文件夹注册HttpHandler?
- asp.net – 请求在IIS工作进程中存在于RequestAc
- asp.net-mvc – 当我不知道内容类型时如何返回文
- ASP.Net C AJAX UpdatePanel中的Javascript
- ASP.NET网站管理系统退出 清除浏览器缓存,Sessio
- asp.net-mvc C ASP.NET MVC模型/ ViewModel验证
- asp.net-mvc – ASP.NET MVC模型/ ViewModel验证
- 这是一个bug?浮动操作被视为整数
- asp.net-mvc – 在ASP.NET MVC中获取当前操作/控
- asp.net C MVC4 C ContextDependentView C
- asp.net-mvc-3 C 如何从ASP.NET MVC#输出中
- asp.net-mvc C 使用AD的ASP.NET MVC表单Aut
- asp.net-core C 如何使用ASP.NET注册OData
- ASP.Net C AJAX UpdatePanel中的Javascript
- asp.net-mvc C ASP.NET MVC中的WebApi [Fro
- asp.net C 适用于多个用户的EWS通知中心
- asp.net-mvc C 未在ELMAH中记录的错误
- asp.net-mvc C MVC应用程序中的随机数生成
- asp.net-mvc C 已经使用相同的参数类型定义