Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A wsHttp-minta bemutatja, hogyan implementálhat egy tipikus szolgáltatást és egy tipikus ügyfelet a Windows Communication Foundation (WCF) használatával. Ez a minta egy ügyfélkonzolprogramból (client.exe) és az Internet Information Services (IIS) által üzemeltetett szolgáltatástárból áll. A szolgáltatás megvalósít egy szerződést, amely egy kérés-válasz kommunikációs mintát határoz meg. A szerződést az ICalculator interfész határozza meg, amely matematikai műveleteket tesz elérhetővé (hozzáadás, kivonás, szorzás és osztás). Az ügyfél szinkron kéréseket küld egy adott matematikai művelethez, és a szolgáltatás az eredménnyel válaszol. Az ügyféltevékenység látható a konzolablakban.
Megjegyzés:
A minta telepítési eljárása és összeállítási utasításai a témakör végén találhatók.
Ez a minta a ICalculator szerződést a <wsHttpBinding> használatával teszi közzé. A kötés konfigurációja ki lett bontva a Web.config fájlban.
<bindings>
<wsHttpBinding>
<!--The following is the expanded configuration section for a-->
<!--WSHttpBinding. Each property is configured with the default-->
<!--value. See the ReliableSession, TransactionFlow, -->
<!--TransportSecurity, and MessageSecurity samples in the WS -->
<!--directory to learn how to configure these features. -->
<binding name="Binding1"
bypassProxyOnLocal="false"
transactionFlow="false"
hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288"
maxReceivedMessageSize="65536"
messageEncoding="Text"
textEncoding="utf-8"
useDefaultWebProxy="true"
allowCookies="false">
<reliableSession ordered="true"
inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Message">
<message clientCredentialType="Windows"
negotiateServiceCredential="true"
algorithmSuite="Default"
establishSecurityContext="true" />
</security>
</binding>
</wsHttpBinding>
</bindings>
Az alapelemen binding az maxReceivedMessageSize érték lehetővé teszi a bejövő üzenetek maximális méretének konfigurálását (bájtban). Az hostNameComparisonMode érték lehetővé teszi annak konfigurálását, hogy a gazdagépnév figyelembe legyen-e véve a szolgáltatásnak küldött üzenetek multiplexálásának megszüntetésekor. Az messageEncoding érték lehetővé teszi annak konfigurálását, hogy szöveg- vagy MTOM-kódolást használjon-e az üzenetekhez. Az textEncoding érték lehetővé teszi az üzenetek karakterkódolásának konfigurálását. Az bypassProxyOnLocal érték lehetővé teszi annak konfigurálását, hogy HTTP-proxyt használjon-e a helyi kommunikációhoz. Az transactionFlow érték azt határozza meg, hogy az aktuális tranzakció folyamatban van-e (ha egy művelet konfigurálva van a tranzakciós folyamathoz).
<A reliableSession> elemen az engedélyezett logikai érték konfigurálja, hogy engedélyezve vannak-e a megbízható munkamenetek. Az ordered érték azt határozza meg, hogy az üzenetsorrendezés megmarad-e. Az inactivityTimeout érték azt határozza meg, hogy a munkamenetek mennyi ideig tétlenkedhetnek, mielőtt meghibásodnak.
A <biztonságon> az mode érték konfigurálja, hogy melyik biztonsági módot kell használni. Ebben a példában az üzenetek biztonsága van használatban, ezért van megadva az <üzenet> a <biztonságon> belül.
A minta futtatásakor a műveleti kérelmek és a válaszok megjelennek az ügyfélkonzol ablakában. Nyomja le az ENTER billentyűt az ügyfélablakban az ügyfél leállításához.
Add(100,15.99) = 115.99
Subtract(145,76.54) = 68.46
Multiply(9,81.25) = 731.25
Divide(22,7) = 3.14285714285714
Press <ENTER> to terminate client.
A példa beállítása, elkészítése és futtatása
Telepítse a ASP.NET 4.0-t az alábbi paranccsal.
%windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enableGyőződjön meg arról, hogy elvégezte a Windows Communication Foundation-minták One-Time beállítási eljárását.
A megoldás C# vagy Visual Basic .NET kiadásának létrehozásához kövesse Windows Communication Foundation-mintákcímű témakör utasításait.
Ha a mintát egy vagy több gép közötti konfigurációban szeretné futtatni, kövesse A Windows Communication Foundation-minták futtatásacímű témakör utasításait.