- WCF : PlatformNotSupportedException when running Server Projects
- {"Operation is not supported on this platform."}
- at System.Net.HttpListener..ctor()
- at System.ServiceModel.Channels.SharedHttpTransportManager.OnOpen()
- at System.ServiceModel.Channels.TransportManager.Open(TransportChannelListener channelListener)
- at System.ServiceModel.Channels.TransportManagerContainer.Open(SelectTransportManagersCallback selectTransportManagerCallback)
- at System.ServiceModel.Channels.HttpChannelListener.OnOpen(TimeSpan timeout)
- at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
- at System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout)
- at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
- at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout)
- at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
- at WCFService.MainForm.startWCFServer() in D:xxxMainForm.cs:line 77
- private ServiceHost host = null;
- public void startWCFServer()
- {
- // Create the url that is needed to specify where the service should be tarted
- urlService = "net.tcp://" + "127.0.0.1" + ":8000/MyService";
- // Instruct the ServiceHost that the type that is used is a ServiceLibrary.service1
- host = new ServiceHost(typeof(ServiceLibrary.service1));
- host.Opening += new EventHandler(host_Opening);
- host.Opened += new EventHandler(host_Opened);
- host.Closing += new EventHandler(host_Closing);
- host.Closed += new EventHandler(host_Closed);
- // The binding is where we can choose what transport layer we want to use. HTTP, TCP ect.
- NetTcpBinding tcpBinding = new NetTcpBinding();
- tcpBinding.TransactionFlow = false;
- tcpBinding.Security.Transport.ProtectionLevel = System.Net.Security.ProtectionLevel.EncryptAndSign;
- tcpBinding.Security.Transport.ClientCredentialType = TcpClientCredentialType.Windows;
- tcpBinding.Security.Mode = SecurityMode.None; // <- Very crucial
- // Add endpoint
- host.AddServiceEndpoint(typeof(ServiceLibrary.IService1), tcpBinding, urlService);
- // A channel to describe the service. Used with the proxy scvutil.exe tool
- ServiceMetadataBehavior metadataBehavior;
- metadataBehavior = host.Description.Behaviors.Find<ServiceMetadataBehavior>();
- if (metadataBehavior == null)
- {
- // This is how I create the proxy object that is generated via the svcutil.exe tool
- metadataBehavior = new ServiceMetadataBehavior();
- //metadataBehavior.HttpGetUrl = new Uri("http://" + _ipAddress.ToString() + ":8001/MyService");
- metadataBehavior.HttpGetUrl = new Uri("http://" + "127.0.0.1" + ":8001/MyService");
- metadataBehavior.HttpGetEnabled = true;
- metadataBehavior.ToString();
- host.Description.Behaviors.Add(metadataBehavior);
- urlMeta = metadataBehavior.HttpGetUrl.ToString();
- }
- host.Open(); // <---- EXCEPTION BLOWS HERE
- }
- host.Description.Behaviors.Add(metadataBehavior);