pátek 22. března 2013

Věčný problém s parsováním parametrů URL

Opakovaně řeším v serverové službě problém s parsováním parametrů.


  1. 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
  2. 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)?
Nakonec jsem napsal dotaz na stackoverflow:
Parse Query string

Řešení je velmi jednoduché. Musíte dostat korektní QueryString, který má nahrazené řídící znaky escape sekvencí.

pondělí 18. března 2013

Kroutím hlavou

string stanice="frekvence1";

Public string get()
{
string stanice="kiss";
return stanice;
}

čtvrtek 7. března 2013

Window Manager

Přemýšlím, jak do aplikačního frameworku MEF, Prism začlenit Windows manager


Inspirace:
http://www.codeproject.com/Articles/249261/How-To-Embed-An-Application-Into-a-Docking-Library