Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Po dodaniu lub usunięciu interfejsu aplikacji za pomocą narzędzia COM+ Service Configuration konfiguracja usługi sieci Web zostanie zaktualizowana w pliku konfiguracji aplikacji. W trybie hostowanym COM+ plik Application.config jest umieszczany w katalogu głównym aplikacji (%PROGRAMFILES%\ComPlus Applications\{appid} jest wartością domyślną). W jednym z trybów hostowanych w sieci Web plik Web.config jest umieszczany w określonym katalogu vroot.
Uwaga
Podpisywanie komunikatów powinno służyć do ochrony przed manipulowaniem komunikatów między klientem a serwerem. Ponadto szyfrowanie warstwy komunikatów lub transportu powinno być używane do ochrony przed ujawnieniem informacji przed komunikatami między klientem a serwerem. Podobnie jak w przypadku usług Windows Communication Foundation (WCF), należy użyć ograniczania, aby ograniczyć liczbę współbieżnych wywołań, połączeń, wystąpień i oczekujących operacji. Pomaga to zapobiec nadmiernemu zużyciu zasobów. Zachowanie ograniczania przepływności jest określane za pośrednictwem ustawień pliku konfiguracji usługi.
Przykład
Rozważ składnik, który implementuje następujący interfejs:
[Guid("C551FBA9-E3AA-4272-8C2A-84BD8D290AC7")]
public interface IFinances
{
string Debit(string accountNo, double amount);
string Credit(string accountNo, double amount);
}
Jeśli składnik jest uwidoczniony jako usługa sieci Web, odpowiedni kontrakt usługi, który jest uwidoczniony, i że klienci muszą być zgodni z, jest w następujący sposób:
[ServiceContract(Session = true,
Namespace = "http://tempuri.org/C551FBA9-E3AA-4272-8C2A-84BD8D290AC7",
Name = "IFinances")]
public interface IFinancesContract : IDisposable
{
[OperationContract]
string Debit(string accountNo, double amount);
[OperationContract]
string Credit(string accountNo, double amount);
}
Uwaga
Identyfikator IID stanowi część początkowej przestrzeni nazw dla kontraktu.
Aplikacje klienckie korzystające z tej usługi będą musiały być zgodne z tą umową wraz z użyciem powiązania zgodnego z powiązaniem określonym w konfiguracji aplikacji.
Poniższy przykład kodu przedstawia domyślny plik konfiguracji. Jako usługa sieci Web programu Windows Communication Foundation (WCF) jest zgodna ze standardowym schematem konfiguracji modelu usług i może być edytowana w taki sam sposób, jak inne pliki konfiguracji usług WCF.
Typowe modyfikacje obejmują:
Zmiana adresu punktu końcowego z domyślnego formularza ApplicationName/ComponentName/InterfaceName na bardziej użyteczny formularz.
Modyfikowanie przestrzeni nazw usługi z formularza domyślnego
http://tempuri.org/InterfaceIDna bardziej odpowiedni formularz.Zmiana punktu końcowego na użycie innego powiązania transportu.
W przypadku modelu COM+-hosted transport nazwanych potoków jest używany domyślnie, ale zamiast tego można użyć transportu poza maszyną, takiego jak TCP.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<bindings>
<netNamedPipeBinding>
<binding name="comNonTransactionalBinding" />
<binding name="comTransactionalBinding" transactionFlow="true" />
</netNamedPipeBinding>
</bindings>
<comContracts>
<comContract contract="{C551FBA9-E3AA-4272-8C2A-84BD8D290AC7}"
name="IFinances" namespace="http://tempuri.org/C551FBA9-E3AA-4272-8C2A-84BD8D290AC7"
requiresSession="true">
<exposedMethods>
<add exposedMethod="Debit" />
<add exposedMethod="Credit" />
</exposedMethods>
</comContract>
</comContracts>
<services>
<service name="{DCDB24CC-0B19-4534-95CD-FBBFF4D67DD9},{C942B840-AD54-4A44-B5F7-928130980AB9}">
<endpoint address="IFinances" binding="netNamedPipeBinding" bindingConfiguration="comNonTransactionalBinding"
contract="{C551FBA9-E3AA-4272-8C2A-84BD8D290AC7}" />
<host>
<baseAddresses>
<add baseAddress="net.pipe://localhost/ServiceModelDocSampleApp/ServiceModelDocSample.esFinance" />
</baseAddresses>
</host>
</service>
</services>
</system.serviceModel>
</configuration>