У меня есть решение Visual Studio с 5 услугами WCF. Все они находятся в одном проекте «MyCompany.MySoftware.Services».Принимать несколько сервисов в одном приложении с использованием IIS 7.5
На этот раз я размещаю их все в IIS (я использую хостинг с помощью Windows Services, но планирую использовать AppFabric, поэтому решил изменить), и я включил использование HTTP и привязок Net.TCP.
Конфигурация каждого сервиса выглядит следующим образом:
<service name="Kipany.Belvedere.Services.Services.AppointmentService"
behaviorConfiguration="GeneralBehavior">
<endpoint address="" binding="wsHttpBinding"
contract="Company.Software.Services.IService1"
name="appointmenthttp"/>
<endpoint address="" binding="netTcpBinding"
bindingConfiguration="netTcpBindingConfig"
name="appointmenttcp"
contract="Company.Software.Services.IService1"/>
<endpoint address="mex" binding="mexHttpBinding"
contract="IMetadataExchange"/>
</service>
<service name="Kipany.Belvedere.Services.Services.AppointmentService"
behaviorConfiguration="GeneralBehavior">
<endpoint address="" binding="wsHttpBinding"
contract="Company.Software.Services.IService5"
name="appointmenthttp"/>
<endpoint address="" binding="netTcpBinding"
bindingConfiguration="netTcpBindingConfig"
name="appointmenttcp"
contract="Company.Software.Services.IService5"/>
<endpoint address="mex" binding="mexHttpBinding"
contract="IMetadataExchange"/>
</service>
Я прочитал в этом посте, что я должен позволить своему netTcp конечную точку без адреса при размещении в IIS. На данный момент мой IIS сконфигурирован с портом 808, поэтому я понимаю, что все мои сервисы используют этот порт.
Вопросы:
1 - Is this a good architecture to use ? 2 - Can I face problems with this configuration ? 3 - What if I want to use every service in a different tcp port ? 4 - The port for tcp binding is configurated in the Default Website but I have the option to fill the 'address' in the endpoint, what happens in this case ? As I have to put ONE port in the Default Website binding, how can I use more than one port in my Web.Config ? 5 - My tcp is using the 808 port but this is my Client's Web.Config:
Где 808 порт?
Таким образом, только один порт может обрабатывать все запросы без боли? Как насчет параллелизма? Два запроса, выполненные в одно и то же время, будут обрабатываться параллельно или один будет ждать другого? – Catinodeh
Все зависит от ваших настроек и настроек параллельного использования вашего сервиса (я писал об этом здесь http://www.dotnetconsult.co.uk/weblog2/PermaLink,guid,1efac821-2b89-47bb-9d27-48f0d6347914.aspx), но конечно, нет основополагающей причины, по которой вы не можете обрабатывать запросы параллельно –