2013-09-24 41 views
1

我有一個FilterAttribute在我的MVC 4 + ServiceStack應用,像這樣:獲取路線中ServiceStack RequestFilterAttribute

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

用戶可以訪問這樣的路線:

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

如何從獲取路線在我的AuthSignatureRequired()請求過濾器屬性內?

例如,如何從上面的URI獲取「apple」?

我試過這個工程,但有沒有更好的方法?

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

回答

1

您應該從填充的請求DTO中獲取路由變量佔位符,如{Region}。對於PathInfo的其餘部分,您應該從req.PathInfo得到它。

+0

您推薦使用佔位符而不是使用上面使用的方法嗎?你有一個如何做你推薦的例子嗎? – user1477388