문제

웹 서비스 내부의 표준 ASP.NET 요청 객체에 포함 된 .NET 쿼리 문자열에 액세스 할 수있는 방법을 찾고자합니다. 다시 말해서이 URL에 SOAP 웹 서비스를 설정하면 다음과 같습니다.

http : //localhost/service.asmx? id = 2

id get variable에 액세스 할 수 있습니까?

도움이 되었습니까?

해결책

방금 ASMX 파일의 컨텍스트의 "요청"을 찾았는데 그것을 보았습니다. 그러나 그것이 옳은지 확실하지 않습니다.

this.Context.Request.QueryString["id"];

다른 팁

httpcontext.current.request.querystring [ "id"]

당신이 묻기 때문에, 나는 httpcontext.current.request가 없다고 생각합니까?

동일한 문제의 해결책을 찾는 동안 다른 접근 방식을 취하기로 결정했습니다. 내 쿼리 문자열이 많은 변수로 가득 차 있었고 웹 서비스에서 쿼리 문자열 데이터에 액세스 할 수 없었기 때문에 각 쿼리 문자열 변수를 별도의 매개 변수로 보내고 싶지 않았으므로 웹 메소드를 하나로 기대할 수 있도록 준비했습니다. 첨단 문자열 매개 변수.

그 매개 변수였습니다 Window.location (페이지의 전체 URL) .aspx 페이지에서 내 JavaScript 함수의

웹 서비스에 URL이 있으면 나머지는 꽤 엄격했습니다.

Uri myRef = new Uri(stringMyWindowLocationParameter);
System.Collections.Specialized.NameValueCollection mojQuery = HttpUtility.ParseQueryString(myRef.Query);

이제 내 쿼리 문자열이 내부에 포함되어 있습니다 마이 레프 대상과 이것이 내가 그것을 부르는 방법입니다

// Instead trying to request query string like this
string myId = HttpContext.Current.Request.QueryString["id"];

// ... I called it like this
string myId = myRef["id"];

아마도 가장 우아한 방법은 아니지만 내 문제를 해결했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top