В следующем примере показано, как создать службу WCF, которая может быть достигнута с помощью реле Service Bus:
Define услугу, как это в SVC-файле:
<%@ ServiceHost Language="C#" Debug="true" Service="ProblemSolver" CodeBehind="ProblemSolver.svc.cs" %>
Отметьте, что ProblemSolver реализует интерфейс с именем IProblemSolver, который указывает контракт на обслуживание.
Соответствующие части моего файла web.config выглядеть следующим образом:
<configuration>
...
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="sharedAccessSignatureClientCredentials">
<transportClientEndpointBehavior>
<tokenProvider>
<sharedAccessSignature keyName="RootManageSharedAccessKey" key="[YourSharedAccessSignature]" />
</tokenProvider>
</transportClientEndpointBehavior>
</behavior>
</endpointBehaviors>
</behaviors>
<bindings>
<netTcpRelayBinding>
<binding name="default" />
</netTcpRelayBinding>
</bindings>
<services>
<service name="ProblemSolver">
<endpoint address="sb://[YourServiceBusNamespace].servicebus.windows.net/solver" behaviorConfiguration="sharedAccessSignatureClientCredentials"
binding="netTcpRelayBinding" bindingConfiguration="default"
name="RelayEndpoint" contract="IProblemSolver" />
</service>
</services>
<extensions>
...
</extensions>
</system.serviceModel>
...
</configuration>
У меня есть службы WCF, который может быть размещен в IIS. Ваш приведенный ниже код предназначен для самостоятельного размещения WCF, такого как консольное приложение. Uri address = ServiceBusEnvironment.CreateServiceUri ("sb", "[YourServiceBusNamespace]", "solver"); ServiceHost host = new ServiceHost (typeof (ProblemSolver), адрес); Я хочу, чтобы существующая внутренняя служба WCF открывалась через шину служебной шины. –