gpt4 book ai didi

wcf - WCF WebApi 如何将请求 URI 映射到适当的服务类型/操作?

转载 作者:行者123 更新时间:2023-12-02 08:53:54 26 4
gpt4 key购买 nike

WCF REST(和 WCF WebApi)如何将 Uri 映射到正确的服务端点?

在 WCF WebApi Preview 4 的上下文中:在自定义委托(delegate) channel 内,我想根据传入的 HttpRequestMessage.RequestUri 查找关联的路由前缀或服务类型。

例如,

RouteTable.Routes.MapServiceRoute<ManagersResource>("employees/managers", config);
RouteTable.Routes.MapServiceRoute<EmployeesResource>("employees", config);

假设收到 http://server/employees/John 的请求

  1. WCF 如何将其映射到正确的端点?

ResourceFactoryProvider实例化时,它已经知 Prop 体的服务类型。我似乎无法追踪 Uri 和路由表路由之间的解析发生在哪里。

提前非常感谢。

最佳答案

通过使用MapServiceRoute<TService> ,代码实际上是注册一个ServiceHostFactory在 ASP.NET 路由表中。因此,首先,请求到达 ASP.NET,然后将其定向到员工资源服务(这是 URL 可以映射到的唯一路由)。此时,WCF Web API 服务主机 ( HttpConfigurableServiceHost ) 将使用 UriTemplateTable将请求分派(dispatch)到适当的操作:如果您有类似下面的代码的内容,则这就是将被调用的操作:

[WebGet(UriTemplate = "/{employeeName}")]
public Employee Get(string employeeName);

关于wcf - WCF WebApi 如何将请求 URI 映射到适当的服务类型/操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6446480/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com