Я пытаюсь настроить мои службы WCF для использования net.tcp или netnamedpipes.
вот моя конфигурация контейнера (я закомментировал существующую привязку http):
var metadata = new ServiceMetadataBehavior
{
HttpGetEnabled = true
};
var debug = new ServiceDebugBehavior
{
IncludeExceptionDetailInFaults = true
};
container.AddFacility<WcfFacility>(f => f.Services.AspNetCompatibility =
AspNetCompatibilityRequirementsMode.Required)
.Install(Configuration.FromAppConfig())
.Register(
Component.For<IServiceBehavior>().Instance(metadata),
Component.For<IServiceBehavior>().Instance(debug),
Component
.For<IAccountService>()
.ImplementedBy<AccountService>()
.Named("SomeCompany.Services.Account.AccountService")
.LifeStyle.Transient
.ActAs(new DefaultServiceModel().Hosted().AddEndpoints(
//WcfEndpoint.BoundTo(new BasicHttpBinding { MaxReceivedMessageSize = int.MaxValue }),
//WcfEndpoint.BoundTo(new WSHttpBinding(SecurityMode.None) { MaxReceivedMessageSize = int.MaxValue }).At("ws"),
WcfEndpoint.BoundTo(new NetTcpBinding()).At("net.tcp://localhost/Account")
)),
Component
.For<IAccountNetworkService>()
.ImplementedBy<AccountNetworkService>()
.Named("SomeCompany.Services.Account.AccountNetworkService")
.LifeStyle.Transient
.ActAs(new DefaultServiceModel().Hosted()
.AddEndpoints(
WcfEndpoint.BoundTo(new BasicHttpBinding { MaxReceivedMessageSize = int.MaxValue }),
WcfEndpoint.BoundTo(new WSHttpBinding(SecurityMode.None) { MaxReceivedMessageSize = int.MaxValue }).At("ws")
))
);
У моего клиента есть следующее:
<endpoint address="net.tcp://localhost/Account" binding="netTcpBinding" contract="SomeCompany.Services.Account.Contracts.IAccountService" name="accountServiceClient"></endpoint>
Когда я пытаюсьдля доступа к услуге я получаю следующее:
No connection could be made because the target machine actively refused it 127.0.0.1:808
Я также попробовал предложение, размещенное внизу этой вики:
http://docs.castleproject.org/(S(hv034j45ln0cgt2zkpl1nce5))/Windsor.WCF-Facility-Registration.ashx
Я пропалчто-то вопиющее здесь?