Files
EBoard/电子展板/WebServer.cs
2025-09-19 17:42:11 +08:00

71 lines
2.0 KiB
C#

using Beginor.Owin.StaticFile;
using JinianNet.JNTemplate;
using Microsoft.Extensions.Configuration;
using Microsoft.Owin.Hosting;
using Owin;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Net.Http.Formatting;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Web.Http;
using .Utility.Extension;
using .Utility.Logs;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
namespace
{
public class WebServer
{
private static IDisposable host;
public static void Start()
{
LogHelper.Instance.Info("正在开启Web服务");
StartOptions startOptions = new StartOptions();
startOptions.Urls.Add($"http://*:80/");
host = WebApp.Start<Startup>(startOptions);
}
public static void Stop()
{
if (host == null)
return;
LogHelper.Instance.Info("正在停止Web服务");
host.Dispose();
host = null;
}
}
/// <summary>
/// Web启动类
/// </summary>
public class Startup
{
private HttpConfiguration _config;
/// <summary>
/// 配置
/// </summary>
/// <param name="app"></param>
/// <param name="env"></param>
public void Configuration(IAppBuilder app)
{
_config = new HttpConfiguration();
_config.MapHttpAttributeRoutes();
_config.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
_config.Formatters.JsonFormatter.MediaTypeMappings.Add(new QueryStringMapping("datatype", "json", "application/json"));
app.UseWebApi(_config);
//配置模板引擎
Engine.Configure(c =>
{
c.TagPrefix = "${";
c.TagSuffix = "}";
c.TagFlag = '^';
});
}
}
}