Как использовать WCF без указания адреса uri / url / baseaddress? Есть ли способ заставить его автоматически получать эти вещи?
Я имею в виду, что хочу, чтобы это работало так же, как работают сайты asp.net и веб-сервисы, где мы не упоминаем uri и прочее, и оно заботится об этом само по себе, лишь бы мы настраивали его прямо в IIS.
Мне нужно подобное решение на WCF.
Пожалуйста, помогите ...
Спасибо,
Edit:
Вот мой код на стороне сервера. Я использую пользовательский ServiceHostFactory здесь ...
protected override System.ServiceModel.ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
{
BasicHttpBinding basichttpbinding = new BasicHttpBinding(BasicHttpSecurityMode.None);
basichttpbinding.CloseTimeout=TimeSpan.MaxValue;
basichttpbinding.OpenTimeout=TimeSpan.MaxValue;
basichttpbinding.ReceiveTimeout=TimeSpan.MaxValue;
basichttpbinding.SendTimeout=TimeSpan.MaxValue;
// basichttpbinding.TransferMode = TransferMode.Buffered;
ServiceEndpoint servicepoint=new ServiceEndpoint(ContractDescription.GetContract(serviceType));
servicepoint.Binding=basichttpbinding;
ServiceHost servicehost = new ServiceHost(serviceType, baseAddresses);
((ServiceDebugBehavior)servicehost.Description.Behaviors[typeof(ServiceDebugBehavior)]).IncludeExceptionDetailInFaults=true;
servicehost.OpenTimeout = TimeSpan.MaxValue;
servicehost.CloseTimeout = TimeSpan.MaxValue;
servicepoint.Binding.SendTimeout = TimeSpan.MaxValue;
servicepoint.Binding.ReceiveTimeout = TimeSpan.MaxValue;
basichttpbinding.MaxBufferPoolSize = 999999999;
// basichttpbinding.MaxConnections = 999999999;
//basichttpbinding.MaxConnections = 999999999;
basichttpbinding.MaxReceivedMessageSize = 999999999;
XmlDictionaryReaderQuotas quotas = new XmlDictionaryReaderQuotas();
quotas.MaxArrayLength = 999999999;
quotas.MaxBytesPerRead = 999999999;
quotas.MaxDepth = 999999999;
quotas.MaxNameTableCharCount = 999999999;
quotas.MaxStringContentLength = 999999999;
basichttpbinding.ReaderQuotas = quotas;
//foreach (Uri uri in baseAddresses)
//{
servicehost.AddServiceEndpoint(typeof(IService), basichttpbinding, "http://localhost:52855/WCFService1/Service.svc");
// }
return servicehost;
}