문제

나는 ASP.NET 2.0을 사용하여 C#의 RESTFul 웹 서비스의 방식에 대해 간주하고 있으며 (클래스 라이브러리를 통해, 전자에 의해 생성 된 DLL에 대한 참조와 내 Web.config의 일부 조정)를 통해 관리했습니다. URI 형식과 같은 형식 :

http : // localhost/developmentproject/testhandler/? input = thisismyinput

눈에 띄게 입력을 깨달은 접두사와 함께 텍스트로 반환하는 것은 "당신의 입력은 다음과 같습니다."

나는 URI가 다음의 선을 따라 더 많은 것에 더 많은 일을하게 될 수 있다는 인상을 받았다.

http : // localhost/developmentproject/testhandler/thisismyinput

그리고 같은 결과를 얻지 만 성가신 "? input ="를 제거하는 방법을 모른다.

내 web.config의 httphandlers 섹션에 대한 입력은 (공백이 추가되어 코드 표시) :

<동사 추가 = "*"Path = "TestHandler/*"type = "HandlerLib.testHandler, HandlerLib"/>

로컬 컴퓨터에서 IIS 5.1을 실행중인 경우 문제가 발생합니까?

본질적으로 내가 어디로 잘못 가고 있습니까?

감사.

도움이 되었습니까?

해결책 3

나는 속임수를 쳤다.

노력하다:

내가 어떻게 그것을 얻었는지에 대한 내 기사

다른 팁

한 가지 해결책은 URLREWRITING을 사용하여 필요한 것에 URL을 다시 작성하는 것입니다.

나는 사용한다 http://urlrewriter.net/ 내 모든 재 작성을하려면 시나리오에서 이와 같은 것을 설정할 수 있습니다.

<rewriter>
   <rewrite 
     url="DevelopmentProject/testhandler/([\w]+)" 
     to="DevelopmentProject/testhandler/?input=$1" />
</rewriter>

브라우저 주소 표시 줄에 "http : // localhost/developmentproject/testhandler/thisismyinput"가 남아 있지만 "http : // localhost/developmentproject/testhandler/? input = thisismyinput"로 프로세스됩니다.

같은 것을 사용하여 URL 재 작성을 구현할 수 있습니다 urlrewriter.net그것은 당신이 언급 한 구문을 사용할 수있게 해줄 것입니다.

구성 변경 : <add verb = ""path = "testhandler/"type = "handlerlib.testhandler, handlerlib"/> to : <add verb = ""path = "testhandler/*"type = "handlerlib.testhandler, handlerlib "/>

URL과 같은 핸들러의 프로세스 퀘스트 함수에서 request.pathinfo의 값을 확인하십시오. http : // localhost/developmentproject/testhandler/thisismyinput.

그렇지 않은 경우 IIS 5.1이 모든 요청을 ASPNET_ISAPI.DLL로 라우팅하고 있는지 확인하십시오. (이미 그랬지만) 이것은 "구성 ..."버튼> "앱 매핑"탭입니다. IIS의 가상 디렉토리.

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