ddon-server/Arrowgene.Ddon.WebServer/WebServerSetting.cs
2026-01-25 07:08:04 -03:00

56 lines
1.7 KiB
C#

using System.IO;
using System.Net;
using System.Runtime.Serialization;
using Arrowgene.Ddon.Shared;
using Arrowgene.WebServer;
namespace Arrowgene.Ddon.WebServer
{
[DataContract]
public class WebServerSetting
{
public WebServerSetting()
{
PublicWebEndPoint = new WebEndPoint();
PublicWebEndPoint.Port = 52099;
PublicWebEndPoint.IpAddress = IPAddress.Loopback;
WebSetting = new WebSetting();
WebSetting.ServerHeader = "";
WebSetting.WebFolder = Path.Combine(Util.ExecutingDirectory(), "Files/www");
WebSetting.WebEndpoints.Clear();
WebEndPoint httpEndpoint = new WebEndPoint();
httpEndpoint.Port = 52099;
httpEndpoint.IpAddress = IPAddress.Any;
WebSetting.WebEndpoints.Add(httpEndpoint);
MailSetting = new MailSetting();
}
public WebServerSetting(WebServerSetting webServerSetting)
{
PublicWebEndPoint = new WebEndPoint(webServerSetting.PublicWebEndPoint);
WebSetting = new WebSetting(webServerSetting.WebSetting);
MailSetting = new MailSetting(webServerSetting.MailSetting);
}
[OnDeserialized]
void OnDeserialized(StreamingContext context)
{
PublicWebEndPoint ??= new WebEndPoint();
WebSetting ??= new WebSetting();
MailSetting ??= new MailSetting();
}
[DataMember(Order = 1)]
public WebEndPoint PublicWebEndPoint { get; set; }
[DataMember(Order = 2)]
public WebSetting WebSetting { get; set; }
[DataMember(Order = 3)]
public MailSetting MailSetting { get; set; }
}
}