Я создал службу WCF для размещения в IIS. Я использую метод ServiceHostFactory для размещения моего сервиса (используя Unity как DI).Хост службы WCF с использованием ServiceHostFactory с множественным связыванием
Я хочу разместить свою службу, используя множественную привязку, через HTTP, а также через TCP.
Я попробовал предоставить базовый адрес, но его не берут. все еще давая мне ошибку как Сервис, зарегистрированный по схеме HTTP.
Ниже фрагмент кода может дать вам и идею.
public class MyServiceHostFactory : ServiceHostFactory
{
protected override ServiceHost CreateServiceHost(
Type serviceType, Uri[] baseAddresses)
{
MyServiceHost serviceHost = new MyServiceHost(serviceType, baseAddresses);
//configure container
MyFactory.Register();
return serviceHost;
}
}
Файл конфигурации:
<system.serviceModel>
<services>
<service name="My.Service.MyService">
<host>
<baseAddresses>
<add baseAddress="http://localhost:9000/MyService/"/>
<add baseAddress="net.tcp://localhost:9001/MyService/"/>
</baseAddresses>
</host>
<endpoint address="Question" binding="basicHttpBinding" contract="My.Contract.IQuestionContract" />
<endpoint address="Answer" binding="basicHttpBinding" contract="My.Contract.IAnswerContract" />
<endpoint address="Question" binding="netTcpBinding" contract="My.Contract.IQuestionContract" />
<endpoint address="Answer" binding="netTcpBinding" contract="My.Contract.IAnswerContract" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MyServicebehavior">
<serviceMetadata httpGetEnabled="True" httpsGetEnabled="True" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="True">
</serviceHostingEnvironment>
Может кто-нибудь предложить мне, что можно сделать?
Главное, Возможно ли размещать услуги с использованием ServiceHostFactory с несколькими связями?
Если да, может ли кто-нибудь мне помочь?
Я попытался дать полный адрес в привязке, он не работает. «Нет привязки протокола к указанному адресу» net.tcp: // localhost: 9001/MyService/Question '. " –
Вы также попытались удалить базовый адрес? – evgenyl
Да. Я также удалил базовый адрес. –