Автозапуск Windows AppFabric не запускает службу WCF - PullRequest
1 голос
/ 01 мая 2011

Я боролся с этим всю ночь, так что вот так:

У меня есть служба WCF Azure Service Bus, которая называется Send.Я хочу использовать сервер Windows 2008 R2 (стандартный) для размещения его в IIS с помощью функции автозапуска Windows Server AppFabric.

Я установил Windows Server AppFabric, казалось, все прошло гладко.Однако в пользовательском интерфейсе отсутствует опция «Автозапуск», которую вы обычно получаете, щелкнув правой кнопкой мыши узел «Сайт» в IIS. Он должен выглядеть следующим образом:

http://developers.de/cfs-filesystemfile.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_40F1B83A.png

Однако вместо этого я использовал команды powershell, и они, похоже, работали.Опция выборочного автоматического запуска службы действительно включена.Итак, я решил, что это должно работать.Но, он не запускается автоматически, я также не получаю никаких ошибок в журналах событий.Ниже моя веб-конфигурация:

  <!-- 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);
}

Я также добавил ServiceBus_schema.xmlв правильную папку в Inetserv, следуя инструкциям отсюда http://msdn.microsoft.com/en-us/gg282466

Если я на самом деле захожу на службу в браузере, она нормально загружается, и я вижу, что служебная шина регистрирует конечную точку.Но это должно быть сделано без того, чтобы я что-то делал на этом этапе.

У кого-нибудь есть идеи?

1 Ответ

4 голосов
/ 01 мая 2011

Я отвечу на свой вопрос, потому что я наконец понял это. Я пытался автоматически запустить службу на корневом сайте. Оказывается, это должно быть приложение, добавленное с существующего веб-сайта. Было бы хорошо, если бы они сказали это где-нибудь. Все мои варианты были обнаружены, и сервис действительно запустился автоматически.

...