WCF: преобразовать программную конфигурацию в app.config - PullRequest
0 голосов
/ 26 мая 2011

У меня есть следующая рабочая программная конфигурация (на стороне сервера)

using (ServiceHost host = new ServiceHost(
                typeof(RequestHandler),
                new Uri[] { new Uri("net.pipe://localhost") }))
        {
            NetNamedPipeBinding tBinding = new NetNamedPipeBinding();


            host.AddServiceEndpoint(typeof(RequestInterface),
                tBinding, "Request");

            host.Open();
            Application.Run(new Form1());

        }

, пытающаяся превратить это в код для app.config:

    <system.serviceModel>
<bindings>
  <netNamedPipeBinding>
    <binding
             closeTimeout="00:01:00"
             openTimeout="00:01:00"
             receiveTimeout="00:10:00"
             sendTimeout="00:01:00"
             transactionFlow="false"
             transferMode="Buffered"
             transactionProtocol="OleTransactions"
             hostNameComparisonMode="StrongWildcard"
             maxBufferPoolSize="524288"
             maxBufferSize="65536"
             maxConnections="10"
             maxReceivedMessageSize="65536">
      <security mode="Transport">
        <transport protectionLevel="EncryptAndSign" />
      </security>
    </binding>

  </netNamedPipeBinding>
</bindings>

<services>
  <service name="ServerApp.RequestHandler">
    <host>
      <add baseAddress="net.pipe://localhost/" />
    </host>
      <endpoint address="net.pipe://localhost/Request/"
              binding="netNamedPipeBinding"
              contract="AppLib.RequestInterface" />
  </service>
</services>

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

Что-то не так в моем коде app.config?Или мне нужно что-то программно сказать .NET использовать конфигурацию из app.config?

Ответы [ 2 ]

2 голосов
/ 26 мая 2011

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

Я не анализировал конфигурацию, но, честно говоря, вам, вероятно, следует использовать Средство редактирования конфигурации для настройки вашей службы. Вероятно, это самая маленькая маленькая ошибка, неправильный тип или пропущенная настройка, из-за которой ваша служба не работает. Я часто говорил, что XML может быть читаемым человеком, но редко редактируемым человеком ... и конфигурация IMO WCF попадает в этот лагерь: -)

0 голосов
/ 26 мая 2011

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

...