【问题标题】:How OData works in AspNet MVC without change any codeOData 如何在 AspNet MVC 中工作而不更改任何代码
【发布时间】:2016-02-20 09:03:53
【问题描述】:

要在安装 Microsoft ASP.NET Web API 2.2 包后启用 OData,唯一要做的就是添加属性 EnableQuery 并返回 IQueryable强>。

如果属性 EnableQuery 只是元数据,那么框架有什么变化?

我的意思是,当请求到达时,框架将 url 与路由表匹配,然后创建控制器来管理请求。 OData 有什么变化?

【问题讨论】:

  • "what change in the framework?" - 好吧,为一件事添加了对 OData 的支持。不太清楚你在问什么。
  • @David 我的意思是,Odata 如何在不改变框架中的任何行为的情况下改变我的控制器的响应?
  • 为什么你认为框架没有任何改变? 添加了 OData 支持。 然后,当您使用该属性时,您可以使用驱动该支持的框架组件。就像Authorize 属性使用框架对授权的支持一样,EnableQuery 属性使用框架对 OData 的支持。控制器操作的行为不同,因为您通过添加属性添加了该行为

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


【解决方案1】:

EnableQueryAttribute 派生自ActionFilterAttribute,这意味着它可以通过其OnActionExecuted 方法(由Web API 在内部调用)来影响操作的结果。看看source code 看看EnableQuery 到底在做什么。

【讨论】:

    猜你喜欢
    • 2017-09-09
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    • 2023-04-03
    • 2017-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多