public void CreateDefaultBindingTest() { string expectedAddress = "net.tcp://*****:*****@" <configuration> <system.serviceModel> <services> <service name=""{expectedServiceName}""> <endpoint address=""{expectedAddress}"" name=""{expectedEndpointName}"" binding=""netTcpBinding"" contract=""{typeof(ISomeService).FullName}"" /> </service> </services> </system.serviceModel> </configuration>"; using (var fs = TemporaryFileStream.Create(xml)) { using (ServiceProvider provider = CreateProvider(fs.Name)) { IConfigurationHolder settingHolder = GetConfigurationHolder(provider); IXmlConfigEndpoint endpoint = GetXmlConfigEndpointByEndpointName(settingHolder, expectedEndpointName); Assert.Equal(expectedServiceName, endpoint.Service.FullName); Assert.IsType <NetTcpBinding>(endpoint.Binding); Assert.Equal("NetTcpBinding", endpoint.Binding.Name); } } }
public void MultipleServiceTestWithSecurityMode() { string expectedServiceName = typeof(SomeService).FullName; string expectedContractName = typeof(ISomeService).FullName; string expectedNetTCPAddress = "net.tcp://*****:*****@" <configuration> <system.serviceModel> <bindings> <netTcpBinding> <binding name=""testBinding""> <security mode=""None"" /> </binding> </netTcpBinding> <basicHttpBinding> <binding name=""Basic""> <security mode=""TransportWithMessageCredential""> <message clientCredentialType=""Certificate""/> </security > </binding > </basicHttpBinding > </bindings> <services> <service name=""{expectedServiceName}""> <endpoint address=""{expectedNetTCPAddress}"" binding=""netTcpBinding"" bindingConfiguration=""testBinding"" contract=""{expectedContractName}"" /> <endpoint address=""{expectedBasicHttpAddress}"" name=""{expectedEndpointNameForBasicHttp}"" binding=""netTcpBinding"" bindingConfiguration=""testBinding"" contract=""{expectedContractName}"" /> </service> </services> </system.serviceModel> </configuration>"; using (var fs = TemporaryFileStream.Create(xml)) { using (ServiceProvider provider = CreateProvider(fs.Name)) { IConfigurationHolder settingHolder = GetConfigurationHolder(provider); IXmlConfigEndpoint endpoint = GetXmlConfigEndpointByEndpointName(settingHolder, expectedEndpointNameForBasicHttp); Assert.Equal(expectedServiceName, endpoint.Service.FullName); Assert.Equal(expectedContractName, endpoint.Contract.FullName); Assert.Equal(expectedBasicHttpAddress, endpoint.Address.AbsoluteUri); endpoint = GetXmlConfigEndpointByEndpointName(settingHolder, string.Empty); Assert.Equal(expectedServiceName, endpoint.Service.FullName); Assert.Equal(expectedContractName, endpoint.Contract.FullName); Assert.Equal(expectedNetTCPAddress, endpoint.Address.AbsoluteUri); } } }
public void Configure(ServiceModelOptions options) { var configHolder = ParseConfig(); foreach (var serviceEndPoint in configHolder.Endpoints) { IXmlConfigEndpoint configEndpoint = configHolder.GetXmlConfigEndpoint(serviceEndPoint); options.ConfigureService(configEndpoint.Service, serviceConfig => { serviceConfig.AddServiceEndpoint(configEndpoint.Contract, configEndpoint.Binding, configEndpoint.Address, null); }); } }