Как мне использовать сервис net.tcp в ядре asp.net 2.1 - PullRequest
0 голосов
/ 29 октября 2018

Я создаю веб-приложение asp.net core 2.1 и мне нужно вызвать старую конечную точку net.tcp, чтобы получить информацию о бронировании. Конечная точка настраивается так же, как в файле web.config другого старого приложения:

<system.serviceModel>
<behaviors>
  <endpointBehaviors>
    <behavior name="Behaviors.EndpointBehavior">
      <dataContractSerializer maxItemsInObjectGraph="2147483647" />
    </behavior>
  </endpointBehaviors>
</behaviors>
<bindings>
  <netTcpBinding>
    <binding name="unsecuredLargeTcpBuffer" maxBufferSize="20000000" maxReceivedMessageSize="20000000">
      <readerQuotas maxArrayLength="20000000" maxBytesPerRead="20000000" maxStringContentLength="10000000" />
      <security mode="None" />
    </binding>
  </netTcpBinding>
</bindings>

<client>      
  <endpoint address="net.tcp://us-ap-contoso1:12345/Bookings" binding="netTcpBinding" bindingConfiguration="unsecuredLargeTcpBuffer" behaviorConfiguration="Behaviors.EndpointBehavior" contract="Contoso.Contracts.IBookingService" />     
</client>

В ядре aspnet я считаю, что не могу использовать эту файловую конфигурацию, но нужно сделать это программно. Я попытался использовать svcutil для создания ссылки на службу, но это не работает со службой net.tcp.

Я попытался вызвать setup файл web.config с вышеуказанной конфигурацией и вызвать конечную точку следующим образом

public Booking FindBooking(string name, string number)
    {
        var proxy = new BookingSearchServiceProxy();

        try
        {
            var query = new BookingFieldQuery
            {
                BookingNumber = number,
                LastName = name
            };

            Booking booking = proxy.FindSingle(query);

            return booking;
        }
        catch (Exception ex)
        {
            //log here
        }
        finally
        {
            proxy.CloseSafely();
        }

        return null;
    }

Но это исключение

System.PlatformNotSupportedException: Configuration files are not supported.

Как мне это сделать?

Буду признателен за любой совет, который вы можете дать.

1 Ответ

0 голосов
/ 30 октября 2018

Так что все оказалось довольно просто. Я нашел этот пост Как программно подключить клиента к сервису wcf

Easy.

...