在 ServiceStack RequestFilterAttribute 中获取路由

本文关键字:获取 路由 RequestFilterAttribute ServiceStack | 更新日期: 2023-09-27 18:32:47

我的MVC 4 + ServiceStack应用程序中有一个FilterAttribute,如下所示:

public class AuthSignatureRequired : ServiceStack.ServiceInterface.RequestFilterAttribute, IHasRequestFilter
{

用户可以访问如下路由:

[Route("/apple/locations/", Verbs = "GET")]
[Route("/apple/locations/{Region}", Verbs = "GET")]

如何从我的AuthSignatureRequired()请求筛选器属性中获取路由?

例如,如何从上面的 URI 中获取"苹果"?

我已经尝试过这个有效的方法,但是有更好的方法吗?

req.AbsoluteUri.Replace("http://", "").Split('/')[1]

在 ServiceStack RequestFilterAttribute 中获取路由

您应该从填充的请求 DTO 中获取路由变量占位符,例如 {Region}。对于路径信息的其余部分,您应该从 req.PathInfo

.