在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:Lails.Server开源软件地址:https://gitee.com/Lails/Lails.Server开源软件介绍:《Lails系列产品》
一、介绍基于开源产品【ASP.NET WebAPI+TopShelf+NLog】实现的跨平台,自宿主运行的服务端框架。主要实现:
二、安装新建控制台程序项目,用Nuget引用Lails.WebAPI包。 Install-Package Lails.Server 引用后生成的项目文件结构如下: 其中:
三、使用说明1. 编写服务内容 AppServer.Run(AppConfig.Default, () => { AppLogger.Info("Server Start."); }, () => { AppLogger.Info("Server Stop."); }); 2. 安装/启动服务#安装服务{app}.exe install#卸载服务{app}.exe uninstall#启动服务{app}.exe start#停止服务{app}.exe stop 四、示例1. WebAPI服务/// <summary> /// DemoAPI /// </summary> [WebApiResult] public class DemoAPIController : ApiController { /// <summary> /// 获取数据 /// </summary> /// <returns>数据</returns> public string GetData() { return "Lails.Server"; } /// <summary> /// 获取对象 /// </summary> /// <param name="id">对象ID</param> /// <returns>DemoModel对象</returns> public DemoModel GetModel(long id) { return new DemoModel() { ID = id, Value = "Value" }; } /// <summary> /// 获取对象返回异常结果 /// </summary> /// <param name="id">对象ID</param> /// <returns>DemoModel对象</returns> public DemoModel GetModelOnException(long id) { throw new CustomException(-1, "无此ID对象", null); } } /// <summary> /// DemoModel对象 /// </summary> public class DemoModel { /// <summary> /// 对象ID /// </summary> public long ID { get; set; } /// <summary> /// 对象值 /// </summary> public string Value { get; set; } } /// <summary> /// 自定义异常 /// </summary> public class CustomException : Exception { public CustomException(int code, string message, Exception ex) : base(message, ex) { this.HResult = code; } } 创建的API服务支持通过Swagger浏览,默认地址为: http://localhost:7777/Swagger 2. 配置文件默认的配置文件config.json内容如下: { "HttpPort": 7777} 自定义配置可直接修改该文件,如: { "HttpPort": 7777, "DB": "mysql"} 在代码中使用该配置时,需要创建新的配置类,如下: public class Config : AppConfig{ public string DB { get; set; }}.....Config config = AppConfig.Load<Config>(); 版本记录V0.2.0.0
V0.2.2.0
V0.2.2.1
V0.2.3.0
V0.2.3.2
V0.2.3.3
V0.2.3.4
V0.2.4.0
{ "Code": 0, "Result": { ID: 1, Name: 'name' }, "Message": ""} 对于API出抛出的异常,也会自动捕获并获取异常Code(取值于Exception中的HResult值)及异常信息输: { "Code": -1, "Result": null, "Message": "无此ID对象"} V0.2.5.0新增Autofac注入 //注入AutofacConfig.Builder.RegisterType(typeof(Logger)).SingleInstance(); V0.4.0.0新增扩展Controller中header取值 V0.4.1.1调试模式下给Swagger附加参数 SwaggerAttachParams.Add("appId","header"); V0.4.1.2支持接口别名 [AliasMethod("x.x.x.x")] public void Get(string value) { } 访问方式1:http://127.0.0.1:7777/DemoAPI/Get 访问方式2:http://127.0.0.1:7777/DemoAPI/x.x.x.x 支持上下文OwinContext 例:string appid = OwinContext.Current.Request.Headers.Get("appId"); V0.4.1.3支持跨域Credentials 支持新增过滤器
全局异常捕获处理 服务异常自动恢复启动 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论