Я создаю веб-приложение 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.
Как мне это сделать?
Буду признателен за любой совет, который вы можете дать.