我遇到的问题是,相同的配置在我的开发机器上工作,但不能在其他机器上工作。 我有四个servicecontract接口。这些接口由单一服务实现。对于每个服务合同,我有单独的端点,但这些端点具有相同的地址。此设置适用于我的机器,但在测试机器上失败。 请澄清。
这是配置文件
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<service name="ABC.Toolkit.PluginHost.AdapterService">
<endpoint address="AdapterService" bindingConfiguration="DicomConfigNamedPipeBinding"
binding="netNamedPipeBinding" contract="ABC.ILocalSystemStore">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="AdapterService" bindingConfiguration="DicomConfigNamedPipeBinding"
binding="netNamedPipeBinding" contract="ABC.IRemoteDeviceStore">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="AdapterService" bindingConfiguration="DicomConfigNamedPipeBinding"
binding="netNamedPipeBinding" contract="ABC.IPrinterStore">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="AdapterService" bindingConfiguration="DicomConfigNamedPipeBinding"
binding="netNamedPipeBinding" contract="ABC.ITemplateStore">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:8000/Services/" />
<add baseAddress="net.pipe://localhost/Services" />
</baseAddresses>
</host>
</service>
<service name="ABC.RemoteDeviceTestService">
<endpoint address="net.pipe://localhost/Services/RemoteDeviceTestService" bindingConfiguration="DicomConfigNamedPipeBinding"
binding="netNamedPipeBinding" contract="ABC.IRemoteDeviceTest">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:8000/Services/" />
<add baseAddress="net.pipe://localhost/Services" />
</baseAddresses>
</host>
</service>
<service name="ABC.PrinterTestService">
<endpoint address="net.pipe://localhost/Services/PrinterTestService" bindingConfiguration="DicomConfigNamedPipeBinding"
binding="netNamedPipeBinding" contract="ABC.IPrinterTest">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:8000/Services/" />
<add baseAddress="net.pipe://localhost/Services" />
</baseAddresses>
</host>
</service>
</services>
<bindings>
<netTcpBinding>
<binding name="NetTcp_Reliable" sendTimeout="00:00:10"
receiveTimeout="24.20:31:23.6470000">
<reliableSession ordered="true" inactivityTimeout="24.20:31:23.6470000"
enabled="true" />
</binding>
</netTcpBinding>
<netNamedPipeBinding>
<binding name="DicomConfigNamedPipeBinding" closeTimeout="23:59:59" openTimeout="23:59:59" receiveTimeout="23:59:59"
sendTimeout="23:59:59" transactionFlow="false" transferMode="Buffered" maxBufferPoolSize="2147483646" maxBufferSize="2147483646"
maxConnections="10" maxReceivedMessageSize="2147483646">
<readerQuotas maxDepth="64" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="Transport" />
</binding>
</netNamedPipeBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="serviceBehave">
<!-- To avoid disclosing metadata information,
set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="false"/>
<!-- To receive exception details in faults for debugging purposes,
set the value below to true. Set to false before deployment
to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
我得到的错误消息是Endpoint调度程序的合同过滤器不匹配