2012-03-21 3 views

답변

2

당신은 HttpRequestPathInfo 속성을 사용할 수 있습니다.

+0

고맙지 만 그것은 빈 문자열이 아닌 메서드 이름을 반환한다. –

+0

@DorCohen : 클라이언트에서 사용하는 URL은 어떻게 보이나요? 'someBase/MyWebService.asmx/MyWebMethod'처럼? 'web.config'의''에 URL 매핑 모듈을 사용합니까? – Oleg

+0

아니요 : someBase/MyWebService.asmx –

-1

당신은 아마 필요

HttpContext.Current 

그러나 것은 당신이 ASPX 호환 모드가 켜져했습니다해야합니다, 그렇지 않으면 당신은 또한의 이름을 저장할 수 특성

에 액세스하지 못할 수 있습니다 다음은이 같은 항목의 배열 기능 :

void myServiceMethod() 
{ 
    HttpContext.Current.Items["MethodName"] = "myServiceMethod"; 
    // ... 
    // here comes your method implementation 
} 

을하고 당신은 어느 곳에서나 HttpContext.Current.Items["MethodName"]

,369를 읽을 수 있습니다

colection HttpContext.Current.Items는 현재 요청에 대해서만 항상 유효하므로 요청 관련 정보에 대한 저장소로 사용할 수 있습니다.

요청에 응답하면 가비지입니다. "/MyWebMethod" : 슬래시 접두사 (/)와 메소드 이름이됩니다

string methodName = HttpContext.Current.Request.PathInfo; 

문자열 methodName : 나는 당신의 질문을 수정 이해한다면

+0

웹 서비스 asmx 경로 만 제공합니다. 특정 방법이 아닙니다. http://dc.dc.com/AgentWS/AgentService.asmx –

+0

그러면 메소드 이름을 HttpContext.Current.Items에 첫 번째로 저장할 수 있습니다. 메소드 구현의 것. 그러면 현재 요청의 범위에있는 이름을 읽을 수 있습니다. –

+0

@DorCohen 귀하의 필요를 반영하여 답변을 업데이트했습니다. –

관련 문제