Mam usługi WCF REST, który ma metodę, która pobiera parametr jako ciąg znaków. Ten ciąg może zawierać ukośnik/znak. Moja prośba jest błędna, ponieważ według mnie adres URL jest nieprawidłowy.Jak przekazać ukośnik i inne znaki "wrażliwe na adres URL" do usługi REST WCF?
Podczas żądania i otrzymywania odpowiedzi (WebRequest.GetResponse()) zgłasza "Serwer zdalny zwraca błąd: (400) Błędne żądanie." wyjątek.
Moja prośba: http://localhost:17679/testmethod/DmC/TCGlOLz1EbEwqAls5Q== \ nh2cQzTizSBg =
Próbowałem użyć Uri.EscapeDataString, ale to nie pomaga, mam ten sam wyjątek jak wyżej. Po tej konwersji moja prośba wygląda następująco: http://localhost:17679/testmethod/DmC%2FTCGlOLz1EbEwqAls5Q%3D%3D%0Ah2cQzTizSBg%3D
Jeśli przekażę łańcuch bez slasha w łańcuchu, to działa tak, jak chcę.
Jak przekazać ukośnik i inne znaki "wrażliwe na adres URL" do usługi REST WCF?
Thx.
AKTUALIZACJA: Rozwiązałem, możesz to zobaczyć w mojej odpowiedzi poniżej.
Dlaczego jest to niedopuszczalne? Czy nie jest dekodowane przez WCF? Jeśli tak, to co widzi twoja funkcja? Czy został zgłoszony wyjątek? Czy ustawiono metodę includeExceptionDetailInFault zgodnie z opisem w [tym dokumencie] (http://msdn.microsoft.com/en-us/library/ff649234.aspx). –
Tak więc "Serwer zdalny zwrócił błąd: (400) Złe żądanie." wyjątek przychodzi podczas wywoływania metody GetResponse WebRequest. – Tom
Twoje pytanie nie wyjaśniło, że podanie znaku zachęty również zwróciło błąd 400. Dokonaj edycji. –