Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Výchozí ukázka ukazuje, jak lze nakonfigurovat nastavení chování služby. Ukázka je založená na Začínáme, které implementuje smlouvu o službách ICalculator. Tato ukázka explicitně definuje chování služeb a chování operací pomocí atributůServiceBehaviorAttribute.OperationBehaviorAttribute Chování v konfiguračních souborech nebo imperativním chování můžete nakonfigurovat v kódu (jak ukazuje tato ukázka).
V této ukázce je klient konzolovou aplikací (.exe) a služba je hostovaná internetovou informační službou (IIS).
Poznámka:
Postup nastavení a pokyny k sestavení pro tuto ukázku najdete na konci tohoto tématu.
Třída služby určuje chování pomocí ServiceBehaviorAttribute a OperationBehaviorAttribute, jak je znázorněno v následující ukázce kódu. Všechny zadané hodnoty jsou výchozí hodnoty.
[ServiceBehavior(
AutomaticSessionShutdown=true,
ConcurrencyMode=ConcurrencyMode.Single,
InstanceContextMode=InstanceContextMode.PerSession,
IncludeExceptionDetailInFaults=false,
UseSynchronizationContext=true,
ValidateMustUnderstand=true)]
public class CalculatorService : ICalculator
{
[OperationBehavior(
TransactionAutoComplete=true,
TransactionScopeRequired=false,
Impersonation=ImpersonationOption.NotAllowed)]
public double Add(double n1, double n2)
{
System.Threading.Thread.Sleep(1600);
return n1 + n2;
}
...
}
Chování služby je určeno atributem ServiceBehaviorAttribute . Následující tabulka popisuje některé z těchto chování.
| Chování služby | Popis |
|---|---|
| AutomaticSessionShutdown | Automaticky vypne relaci v požadavku klienta. |
| ConcurrencyMode | Určuje režim souběžnosti pro každou instanci služby. |
| InstanceContextMode | Určuje kontextový režim instance. |
| UseSynchronizationContext | Určuje, zda se má použít zadaný kontext synchronizace, pokud je nastavena. Tuto možnost použijte, pokud chcete určit, jestli se má použít WindowsFormsSynchronizationContext v aplikacích Modelu Windows Forms. |
| IncludeExceptionDetailInFaults | Určuje, zda mají být obecně neošetřené výjimky spuštění převedeny na Fault<string> a odeslány jako chybová zpráva. |
| TransactionIsolationLevel | Určuje úroveň izolace pro transakce. |
| ValidateMustUnderstand | Určuje, zda neočekávané hlavičky zprávy způsobují stav chyby. |
Chování operací je určeno pomocí atributu OperationBehaviorAttribute. Následující tabulka popisuje některé z těchto chování.
| Provozní chování | Popis |
|---|---|
| TransactionAutoComplete | Určuje, zda dokončení operace služby potvrdí aktuální transakci. |
| TransactionScopeRequired | Určuje, zda je operace služby zařazena do klientem řízené transakce. |
| Impersonation | Určuje, jestli operace služby přebírá identitu volajícího. |
| ReleaseInstanceMode | Určuje, zda se instance služby recyklují na začátku nebo na konci volání služby. |
Při spuštění ukázky se požadavky na operace a odpovědi zobrazí v okně konzoly klienta. Zpoždění mezi voláními je výsledkem volání na System.Threading.Thread.Sleep() uskutečněných v operacích služby. Zbývající ukázky chování vysvětlují toto chování podrobněji. Stisknutím klávesy ENTER v okně klienta klienta ukončete klienta.
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.
Jak nastavit, sestavit a spustit ukázku
Ujistěte se, že jste provedli instalační proceduru One-Time pro ukázky Windows Communication Foundation.
Pokud chcete sestavit verzi C# nebo Visual Basic .NET řešení, postupujte podle pokynů v Sestavení ukázek Windows Communication Foundation.
Pokud chcete spustit ukázku v konfiguraci pro jeden počítač nebo pro více počítačů, postupujte podle pokynů v Spuštění ukázek Windows Communication Foundation.