/// <summary> /// Initialise the server. /// </summary> private void Init() { try { // Create the server endpoint. Nequeo.Net.Sockets.MultiEndpointModel[] model = new Nequeo.Net.Sockets.MultiEndpointModel[] { // None secure. new Nequeo.Net.Sockets.MultiEndpointModel() { Port = Nequeo.Net.Properties.Settings.Default.HttpStaticSingleServerListeningPort, Addresses = new System.Net.IPAddress[] { System.Net.IPAddress.IPv6Any, System.Net.IPAddress.Any } }, // Secure. new Nequeo.Net.Sockets.MultiEndpointModel() { Port = Nequeo.Net.Properties.Settings.Default.HttpStaticSingleServerListeningPortSecure, Addresses = new System.Net.IPAddress[] { System.Net.IPAddress.IPv6Any, System.Net.IPAddress.Any } } }; // Start the server. _httpServer = new Nequeo.Net.Http.HttpServerSingle(model); _httpServer.Name = "Application Server"; _httpServer.OnHttpContext += HttpContext; _httpServer.OnClientConnected = (context) => ClientConnected(context); _httpServer.Timeout = 30; _httpServer.ReadBufferSize = 32768; _httpServer.WriteBufferSize = 32768; // Get the certificate reader. Nequeo.Security.Configuration.Reader certificateReader = new Nequeo.Security.Configuration.Reader(); // Inititalise. _httpServer.Initialisation(); try { // Look for the certificate information in the configuration file. // Get the certificate if any. X509Certificate2 serverCertificate = certificateReader.GetServerCredentials(); // If a certificate exists. if (serverCertificate != null) { // Get the secure servers. _httpServer.Server[2].UseSslConnection = true; _httpServer.Server[2].X509Certificate = serverCertificate; _httpServer.Server[3].UseSslConnection = true; _httpServer.Server[3].X509Certificate = serverCertificate; } } catch { } } catch (Exception) { if (_httpServer != null) { _httpServer.Dispose(); } _httpServer = null; throw; } }
/// <summary> /// Initialise the server. /// </summary> private void Init() { try { // Create application host domain. _appHostDomain = new AppHostDomain(_basePath, _virtualDir, _configurationFile); string socketProviderHostPrefix = "HttpDynamicServerSingle_"; string hostProviderFullName = socketProviderHostPrefix + "SocketProviderV6"; string hostProviderFullNameSecure = socketProviderHostPrefix + "SocketProviderV6Ssl"; // Get the certificate reader. Nequeo.Security.Configuration.Reader certificateReader = new Nequeo.Security.Configuration.Reader(); Nequeo.Net.Configuration.Reader hostReader = new Nequeo.Net.Configuration.Reader(); // Create the server endpoint. Nequeo.Net.Sockets.MultiEndpointModel[] model = new Nequeo.Net.Sockets.MultiEndpointModel[] { // None secure. new Nequeo.Net.Sockets.MultiEndpointModel() { Port = hostReader.GetServerHost(hostProviderFullName).Port, Addresses = new System.Net.IPAddress[] { System.Net.IPAddress.IPv6Any, System.Net.IPAddress.Any } }, // Secure. new Nequeo.Net.Sockets.MultiEndpointModel() { Port = hostReader.GetServerHost(hostProviderFullNameSecure).Port, Addresses = new System.Net.IPAddress[] { System.Net.IPAddress.IPv6Any, System.Net.IPAddress.Any } } }; // Start the server. _server = new Nequeo.Net.Http.HttpServerSingle(model, hostReader.GetServerHost(hostProviderFullName).MaxNumClients); _server.Name = "Application Server"; _server.OnHttpContext += HttpContext; _server.OnClientConnected = (context) => ClientConnected(context); _server.Timeout = hostReader.GetServerHost(hostProviderFullName).ClientTimeOut; _server.ReadBufferSize = 32768; _server.WriteBufferSize = 32768; // Inititalise. _server.Initialisation(); try { // Look for the certificate information in the configuration file. // Get the certificate if any. X509Certificate2 serverCertificate = certificateReader.GetServerCredentials(); // If a certificate exists. if (serverCertificate != null) { // Get the secure servers. _server.Server[2].UseSslConnection = true; _server.Server[2].X509Certificate = serverCertificate; _server.Server[3].UseSslConnection = true; _server.Server[3].X509Certificate = serverCertificate; } } catch { } // Create the application host. _appHostDomain.CreateApplicationHost(); } catch (Exception) { if (_server != null) { _server.Dispose(); } if (_appHostDomain != null) { _appHostDomain.Dispose(); } _server = null; _appHostDomain = null; throw; } }