Несоответствие AddressFilter в EndpointDispatcher во время подключения к удаленному отладчику dottrace
Попытка подключиться к удаленному агенту через балансировщик нагрузки дает ошибку:
The message with To 'net.tcp/address/RemoteAgent' cannot be processed at the receiver, due to an AddressFilter mismatch at the EndpointDispatcher. Check that the sender and receiver's EndpointAddresses agree.
Большинство решений говорят о добавлении ниже к сервисному коду:
[ServiceBehavior(AddressFilterMode = AddressFilterMode.Any)]
Можно ли что-то сделать в конфиге, чтобы отключить сопоставление AddressFilter?
Содержание RemoteAgent.exe.config
:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<system.serviceModel>
<services>
<service name="JetBrainsAgentService" behaviorConfiguration="JetBrainsAgentServiceBehavior" />
</services>
<bindings>
<wsHttpBinding>
<binding name="JetBrainsAgentBinding_WSHttp" maxReceivedMessageSize="2147483647" openTimeout="00:01:00" receiveTimeout="infinite" sendTimeout="00:01:00" closeTimeout="00:01:00">
<readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" />
<security mode="None" />
</binding>
</wsHttpBinding>
<netTcpBinding>
<binding name="JetBrainsAgentBinding_NetTcp" maxReceivedMessageSize="2147483647" openTimeout="00:01:00" receiveTimeout="infinite" sendTimeout="00:01:00" closeTimeout="00:01:00">
<readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" />
<security mode="None" />
</binding>
</netTcpBinding>
<netNamedPipeBinding>
<binding name="JetBrainsAgentBinding_NetNamedPipe" maxReceivedMessageSize="2147483647" openTimeout="00:01:00" receiveTimeout="infinite" sendTimeout="00:01:00" closeTimeout="00:01:00">
<readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" />
<security mode="None" />
</binding>
</netNamedPipeBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="JetBrainsAgentServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug httpHelpPageEnabled="true" includeExceptionDetailInFaults="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
1 ответ
Вы можете попробовать использовать обходной путь, описанный здесь: http://androidyou.blogspot.com/2010/09/fix-wcf-addressfilter-mismatch-error.html Кроме того, вместо удаленного агента вы можете использовать консольный профилировщик dotTrace: https://www.jetbrains.com/help/profiler/Performance_Profiling__Profiling_Using_the_Command_Line.html