- Když jsem si službu napsal jako WCF REST, tak jsem zjistil, že WCF neumí pracovat s dynamickým počtem parametrů. Tak jsem dynamické parametry zakódoval do stringu. Vše se zdálo v pohodě až do chvíle, kdy se v parametrech objevilo '/' nedokáže WCF příjmout HTTP request. Vadí mu lomítko navíc. Zde jsem řešení nenašel
- Když jsem službu napsal jako HttpListener, tedy pouze jednoduchý zachytávač HTTP requestů, tak jsem narazil na podobný problém se znakem '&'.
Parametry jsem si naparsoval pomocí utility:NameValueCollection qscoll = HttpUtility.ParseQueryString(querystring);
http://localhost:8128/Action/ActionExecute/command=c:/notepad&.exe Dostal jsem výsledek: 0) command=c:\notepad 1) null = .exe
Jak z toho ven (sto hoven)?
Parse Query string
Řešení je velmi jednoduché. Musíte dostat korektní QueryString, který má nahrazené řídící znaky escape sekvencí.
Žádné komentáře:
Okomentovat