У меня есть две разные службы WCF, размещенные на IIS7. Одним из них является служба базы данных, которая настроена для работы на namedpipe. Другая служба, размещенная на том же компьютере, обращается к первой службе через именованный канал и настроена для работы на веб-странице.Настроить WCF как именованную трубку, размещенную на IIS7
однако, когда я вызвать службу базы данных из другой службы я получаю следующую ошибку
«Там не было конечной точкой прослушивания на„net.pipe:. // локальный/iSPYDBService“, которые могли бы принять сообщение Это часто вызванных неправильным адресом или действием SOAP. Для получения дополнительной информации см. InnerException, если имеется. "
Database Service Config файл сниппета
<system.serviceModel>
<services>
<service name="DBService.Service">
<endpoint address="net.pipe://localhost/iSPYDBService"
binding="netNamedPipeBinding"
contract="DBService.Contracts.IDBService"
bindingConfiguration="Binding1" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the values below to false before deployment -->
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<!-- 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>
<protocolMapping>
<add binding="basicHttpsBinding" scheme="https" />
</protocolMapping>
<bindings>
<netNamedPipeBinding>
<binding name="Binding1"
closeTimeout="00:01:00"
openTimeout="00:01:00"
receiveTimeout="00:10:00"
sendTimeout="00:01:00"
transactionFlow="false"
transferMode="Buffered"
maxBufferPoolSize="524288"
maxBufferSize="65536"
maxConnections="10"
maxReceivedMessageSize="65536">
<security mode="Transport">
<transport protectionLevel="EncryptAndSign" />
</security>
</binding>
</netNamedPipeBinding>
</bindings>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
Другая служба Вызов службы базы данных через именованный канал бросает ошибку, как указано выше.
ChannelFactory<DBService.Contracts.IDBService> pipeFactory =
new ChannelFactory<DBService.Contracts.IDBService>(
new NetNamedPipeBinding(),
new EndpointAddress("net.pipe://localhost/iSPYDBService"));
pipeProxy = pipeFactory.CreateChannel();
var categories = pipeProxy.GetCategories();
Обе услуги размещены на IIS. я уже дал привязку для net.pipe в службе базы данных, а также добавьте «http, net.pipe» в «разрешенные протоколы».