私はこれと一晩中戦ってきたので、ここに行きます:
SendというAzureServiceBusWCFサービスがあります。Windows 2008 R2(標準)サーバーを使用して、WindowsServerAppFabricの自動起動機能を使用してIISでこれをホストしたいと思います。
Windows Server AppFabricをインストールしましたが、スムーズに進んでいるようです。ただし、IISのWebサイトノードを右クリックすると通常表示されるUIの[自動開始]オプションがありません。次のようになります。
ただし、代わりにPowerShellコマンドを使用したところ、機能しているように見えました。サービスを選択的に自動開始するオプションが有効になりました。だから、私はそれが機能しているはずだと思いました。ただし、自動起動は行われず、イベントログにもエラーは発生しません。以下は私のWeb設定です。
<!-- Service Bus Service -->
<service name="TestWeb.Send" behaviorConfiguration="serviceBusBehavior">
<endpoint address="sb://mynamespace.servicebus.windows.net/Send/" contract="TestWeb.ISend" binding="netTcpRelayBinding" behaviorConfiguration="SharedSecretCredentials" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="serviceBusBehavior">
<serviceMetadata />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="SharedSecretCredentials">
<transportClientEndpointBehavior credentialType="SharedSecret">
<clientCredentials>
<sharedSecret issuerName="owner" issuerSecret="xxxxxxxxxxxxxxxxxxxxxx=" />
</clientCredentials>
</transportClientEndpointBehavior>
</behavior>
</endpointBehaviors>
</behaviors>
私のサービス契約はかなり基本的です:
[ServiceContract]
public interface ISend
{
[OperationContract]
void SendMail(String Subject, String To, String Text, String HTML);
}
また、ここhttp://msdn.microsoft.com/en-us/gg282466の指示に従って、ServiceBus_schema.xmlをInetservの下の正しいフォルダーに追加しました。
実際にブラウザでサービスにアクセスすると、正常に読み込まれ、ServiceBusがエンドポイントを登録しているのがわかります。しかし、この時点で私が何もしなくてもそれを行う必要があります。
誰かアイデアはありますか?