public WebServiceMock(IMockableWebService serviceInstance, Uri baseAddress) { BaseAddress = baseAddress; // assign free port if not specified if (BaseAddress.IsDefaultPort) { var uriBuilder = new UriBuilder(baseAddress); var port = FindUnusedPort(); uriBuilder.Port = port; BaseAddress = uriBuilder.Uri; } _serviceHost = new WebServiceHost(serviceInstance, BaseAddress); // mark service instance as singleton to make it work var behaviour = _serviceHost.Description.Behaviors.Find<ServiceBehaviorAttribute>(); behaviour.InstanceContextMode = InstanceContextMode.Single; _serviceHost.Open(); }
public WebServiceMock(IMockableWebService serviceInstance) : this(serviceInstance, new Uri("http://127.0.0.1/")) { }