繁体   English   中英

ASP.NET Web Api 2.0中的Owin自定义路由MIddleware

[英]Owin Custom Routing MIddleware in ASP.NET Web Api 2.0

我已经开始使用Microsoft的OWIN中间件来构建ASP.NET Web API 2.0应用程序( http://owin.org/ )。 我有几个与路由相关的问题,因为找不到适用于Web API的出色教程。 我们有一些潜在客户,他们可能希望通过此Web API为多家公司(数据库)提供服务。 我们希望用户能够通过自定义路线指定他们的公司。 例如,类似api / MyCompany / Products之类的路由将加载MyCompany的所有产品。 显然,我们不想将公司名称传递到每个控制器的每个操作中,因此,如果标准路由不起作用,我想创建一个自定义路由或自定义路由中间件。

1)我可以参考任何有关Web API路由的优秀教程来帮助我了解自己在做什么以及应该如何做吗?

2)是否有通过OWIN构建用于路由的中间件的良好教程? 一般吗?

3)推荐一种更好的方法(如果有)。

公司是必要的,因为我们不想将任何内容硬编码到web.config文件中。 基本上,该应用程序将包含所有公司的信息,并使用该路由获取元数据,例如相关的连接字符串。

任何建议都会很棒! 我知道这可能不是通常的帖子,但我不知道在哪里看。 除非我只是忽略了一个简单的概念,否则我还没有找到通过标准方式(谷歌和MSDN)使用的任何东西。

您是否尝试过研究ASP.NET Web API 2中的属性路由

这将允许您在控制器上设置路由前缀以满足您的需求。

[RoutePrefix("api/{companyName}")]
public class CustomerController : ApiController {
    // GET api/MyCompany/products
    [Route("products")]
    public IEnumerable<Product> GetProducts(string companyName) { ... }

    // GET api/MyCompany/orders
    [Route("orders")]
    public IEnumerable<Order> GetOrders(string companyName) { ... }

    ....
}

如果您通读了所提到的链接,您将了解如何设置它并根据需要使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM