2011-11-04 6 views
5

내가 내 servicestack 구현과의 직면 문제는, 내가 다음을 가지고 내 서비스를 호출하는 URL을 요청 servicestack 구현에 도움이 한 성능 모니터 클래스 & perfmonservice 클래스는 내가 중 하나를 호출 할 때

[RestService("/perfmon/application/{appliationId}")] 
    [RestService("/perfmon/application/{appliationId}/{countername}")] 
    [RestService("/perfmon/user/{userId}")] 
    [RestService("/perfmon/user/{userId}/{countername}")] 

이제 구현이 필요 이 기능은 다음 부를 것이다 URL은

public override object OnGet(Perfmon request) 
     {     
       return base.OnGet(request); 
     } 

그래서 내가 어떻게 URL이 호출을 한 즉, 날씨 servicestack는이 작업을 수행하는 특정 방법을 제공 여기 결정할 수 있습니다 또는 내가 속성을 선택하여 수동 로직을 작성해야합니까? 사전에

감사

답변

5

그냥 또한 그들은이 경우 사용자가 즉뿐만 아니라 쿼리 문자열에 요청 DTO를 채울 수 있습니다 즉, 채워되는 필드

if (request.applicationId != null && request.countername != null) #2 
if (request.userId != null && request.countername != null) #4 
if (request.applicationId != null) #1 
if (request.userid != null) #3 

를 볼 수있는 요청 DTO를 검사

/perfmon/application/1/countername?userId=2 

그러면 모든 입력란이 채워집니다. 당신의 도움에 대한

var httpReq = base.Request; //or with base.RequestContext.Get<IHttpRequest>(); 
+0

감사 : 마지막으로 당신과 함께 IHttpRequest 개체 자체를 얻을 수

base.RequestContext.AbsoluteUri 

: 마지막으로 당신은 절대 URI를 사용하여 요청을 호출하는 데 사용 등으로 요청에 대한 정보를 검색 할 수 있습니다 –

관련 문제