Saturday, November 14, 2009 11:56 AM
lukaashek
WCF .NET 4 Beta 1 – Default Protocol Mapping
V minulém článku jsme si ukázali jak se pouhým zadáním uri adres vytvoří defaultní endpoint. Pokud si vzpomínáte dobře, tak při zadání adresy začínající na http, byl vytvořen basicHttpBinding. Proč zrovna tento typ bindingu? V souboru machine.config vašeho počítače je sekce, ve které je provedeno mapování jednotlivýc protokolů na konkrétní typ bindingu. Konfigurační sekce vypadá následovně:
1: <system.serviceModel>
2: <protocolMapping>
3: <add scheme="http" binding="basicHttpBinding"/>
4: <add scheme="net.tcp" binding="netTcpBinding"/>
5: <add scheme="net.pipe" binding="netNamedPipeBinding"/>
6: <add scheme="net.msmq" binding="netMsmqBinding"/>
7: </protocolMapping>
8: ...
Pokud primárně vytváříme aplikace, které budou pro protokol http využívat např. wsHttpBinding, můžeme tuto změnu provést v machine.config (Ve verzi Beta 2 byla mapovací tabulka ze souboru machine.config z výkonostních důvodů odebrána), případně změnšíme-li rozsah platnosti pouze na konkrétní aplikaci, lze toho docílit pouze změnou v konfiguračním souboru naší služby:
1: <system.serviceModel>
2: <protocolMapping>
3: <add scheme="http" binding="wsHttpBinding"/>
4: </protocolMapping>
5: ...
Pokud tedy spustíme aplikaci, kterou jsme si vytvořili v minulém článku, bude výstup vypadat následovně (pro každý protokol http bude použit wsHttpBinding):
