문제
방법으로 WCF 서비스를 만들고 있습니다
[OperationContract]
[WebGet(UriTemplate = "acl/f={fullFileName}")]
string GetACL(string fullFileName);
FullFileName은 네트워크 파일 또는 호스트의 파일의 전체 경로입니다.
호스트는 webhttpbinding 및 동작 구성이있는 Windows 서비스입니다. 나는 같은 것을 사용하여 브라우저에서 이것을 호출하고 싶습니다.
http://localhost/webservice/acl/f=[my network path here]
시도했습니다 .../acl/f = file : // server share file.ext .../acl/f = file : // c : file.ext
브라우저에서 "Endpoint found"를받습니다.
전화를 걸 수 있기 때문에 이것이 작동한다는 것을 알고 있습니다 .../acl/f = file.txt는 파일을 찾을 수 없음을 나타내는 서비스에서 올바른 응답을받습니다. 따라서 URI에서 anysort의 슬래시를 사용하지 않으면이 방법이 올바르게 호출됩니다.
이것에 대한 모든 생각은 크게 감사 할 것입니다.
감사합니다, Hotmail의 Beezlerco ...
해결책
나는 믿는다 httputility.urlencode 당신이 찾고있는 것입니다.
(자세한 설명은 참조하십시오 querystrings를 인코딩하기 위해 httputility.urlencode를 사용합니다)
다른 팁
슬래시, 콜론 및 기술적으로 기간도 인코딩해야합니다.
- 는 %5c이어야합니다
- /는 %2f 여야합니다
- . %2e 여야합니다
- : %3A 여야합니다
대부분의 다른 특수 캐릭터에 대해서는 참조하십시오 http://www.asciable.com/ 해당 테이블의 '%'와 16 진 열을 사용하십시오.
제휴하지 않습니다 StackOverflow