Nastavení vlastností Use a Style
UseAndStyle ukázka ukazuje, jak použít Použití a styl vlastnosti na XmlSerializerFormatAttribute a DataContractFormatAttribute. Tyto vlastnosti ovlivňují formátování zpráv. Ve výchozím nastavení je text zprávy formátován stylem nastaveným na Document. Tato nastavení je možné zadat buď na úrovni kontraktu služby, nebo na úrovni smlouvy o provozu.
Poznámka:
Postup nastavení a pokyny k sestavení pro tuto ukázku najdete na konci tohoto tématu.
Vlastnost Style stylu určuje, jak jsou metadata WSDL pro službu formátována. Možné hodnoty jsou Documenta Rpc. RPC znamená, že reprezentace zpráv WSDL vyměněných pro operaci obsahuje parametry, jako by šlo o vzdálené volání procedury. Například:
<wsdl:message name="IUseAndStyleCalculator_Add_InputMessage">
<wsdl:part name="n1" type="xsd:double"/>
<wsdl:part name="n2" type="xsd:double"/>
</wsdl:message>
Nastavení stylu znamená Document , že reprezentace WSDL obsahuje jeden prvek, který představuje dokument, který je vyměněný pro operaci, jak je znázorněno v následujícím příkladu.
<wsdl:message name="IUseAndStyleCalculator_Add_InputMessage">
<wsdl:part name="parameters" element="tns:Add"/>
</wsdl:message>
Vlastnost Use určuje formát zprávy. Možné hodnoty jsou Literal a Encoded; výchozí hodnota je Literal. Literál znamená, že zpráva je literální instance schématu ve WSDL, jak je znázorněno v následujícím příkladu dokumentu nebo literálu.
<Add xmlns="http://Microsoft.ServiceModel.Samples">
<n1>100</n1>
<n2>15.99</n2>
</Add>
Kódované znamená, že schémata ve WSDL jsou abstraktní specifikace, které jsou kódovány podle pravidel nalezených v protokolu SOAP 1.1 oddílu 5. Následuje příklad RPC/Encoded.
<q1:Add xmlns:q1="http://Microsoft.ServiceModel.Samples">
<n1 xsi:type="xsd:double" xmlns="">100</n1>
<n2 xsi:type="xsd:double" xmlns="">15.99</n2>
</q1:Add>
Základní profil WS-I 1.0 zakazuje použití a měli byste ho Encoded používat pouze v případě, že je vyžaduje starší verze služeb. Formát Encoded
zprávy je k dispozici pouze při použití XmlSerializer.
Aby bylo možné zobrazit odesílané a přijaté zprávy, je tato ukázka založená na trasování a protokolování zpráv. Konfigurace služby a zdrojový kód byly upraveny tak, aby povolovaly a využívaly protokolování trasování a zpráv. Kromě toho WSHttpBinding byl nakonfigurován bez zabezpečení, takže protokolované zprávy lze zobrazit v nešifrovaném formátu. Výsledné protokoly trasování (System.ServiceModel.e2e a Message.log) by se měly zobrazit pomocí nástroje Service Trace Viewer (SvcTraceViewer.exe). Trasování se konfiguruje tak, aby se vytvořily ve složce C:\LOGS. Před spuštěním ukázky vytvořte složku. Pokud chcete zobrazit obsah zpráv v nástroji Trace Viewer, vyberte Zprávy v levém i pravém podokně nástroje.
Následující kód ukazuje kontrakt služby s vlastností nastavenou Use na OperationFormatUse a formát textu zprávy se změnil z výchozí OperationFormatStyle na Document.
[ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples"),
XmlSerializerFormat(Style = OperationFormatStyle.Rpc,
Use = OperationFormatUse.Encoded)]
public interface IUseAndStyleCalculator
{
[OperationContract]
double Add(double n1, double n2);
[OperationContract]
double Subtract(double n1, double n2);
[OperationContract]
double Multiply(double n1, double n2);
[OperationContract]
double Divide(double n1, double n2);
}
Pokud chcete zjistit rozdíl mezi různými Use a Style nastaveními, upravte je ve službě, vygenerujte klienta, spusťte ukázku a prozkoumejte soubor c:\logs\message.logs pomocí nástroje Service Trace Viewer. Sledujte také dopad na metadata zobrazením http://localhost/ServiceModelSamples/service.svc?wsdl
. Metadata pro služby se obvykle rozdělí na více stránek. Hlavní stránka wsdl obsahuje vazby WSDL, ale zobrazení http://localhost/ServiceModelSamples/service.svc?wsdl=wsdl0
pro sledování definic zpráv.
Nastavení, sestavení a spuštění ukázky
Ujistěte se, že jste pro ukázky windows Communication Foundation provedli jednorázovou instalační proceduru.
Vytvořte adresář C:\LOGS pro protokolování zpráv. Udělte uživatelské síťové službě oprávnění k zápisu do tohoto adresáře.
Pokud chcete sestavit edici C# nebo Visual Basic .NET řešení, postupujte podle pokynů v části Sestavení ukázek windows Communication Foundation.
Pokud chcete spustit ukázku v konfiguraci s jedním nebo více počítači, postupujte podle pokynů v části Spuštění ukázek windows Communication Foundation.