есть в проекте референс на сервис и он автоматически сгенерирован и настроен.
Этап установки клиенту:
хочу защитить параметры сервиса в app.config от модификации и перенести их в код
но мне могу сообразить где и как их прилепить к Proxy, ведь когда я создаю свой Proxy если он не найдет описание EndPoint в app.config — он меня отматюкает!!
Подскажите плиз
...ммм не совсем так
можно обойтись вообще без app.config
string endpointstr = "
net.tcp://" + Environment.MachineName + ":" + Port + "/Servicename";
NetTcpBinding tcpBinding = new NetTcpBinding();
tcpBinding.TransactionFlow = false;
tcpBinding.TransferMode = TransferMode.Buffered;
tcpBinding.MaxBufferSize = 104857600;
tcpBinding.MaxReceivedMessageSize = 104857600;
tcpBinding.MaxBufferPoolSize = 104857600;
tcpBinding.ReaderQuotas.MaxArrayLength = 104857600;
tcpBinding.Security.Transport.ProtectionLevel = System.Net.Security.ProtectionLevel.EncryptAndSign;
tcpBinding.Security.Transport.ClientCredentialType = TcpClientCredentialType.Windows;
tcpBinding.Security.Mode = SecurityMode.Transport;
ServiceHost host = new ServiceHost(typeof(ServiceName));
host.AddServiceEndpoint(typeof(IServiceName), tcpBinding, endpointstr);
host.Open();
как-то так
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Аноним, Вы писали:
А>>как-то так
А>Спасибо, но это серверная часть — клиент наверно так же конфигурируется?
тфу не туда посмотрел
клиент конфигурируется почти аналогично
_serviceEventHandler = new InstanceContext(new CallBackHandler());
string _endPointAddr = "
net.tcp://" + _endpoint + "/Servicename";
...
tcpBinding.Security.Mode = SecurityMode.Transport;
EndpointAddress endpointAddress = new EndpointAddress(_endPointAddr);
DuplexChannelFactory _channelFactory = new DuplexChannelFactory<IServiceName>(_serviceEventHandler, tcpBinding, endpointAddress);
IServiceName proxy = _channelFactory.CreateChannel();
это в случае с двусторонней связью, для односторонней используйте просто ChannelFactory