Symbol.Cloud.Server.Kestrel (nuget): 调用方法： using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using System.IO;  public static IHostBuilder CreateHostBuilder(string[] args) {  return Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder => {    webBuilder     .UseConfiguration(         new ConfigurationBuilder()         .SetBasePath(Directory.GetCurrentDirectory())         //端口修改办法         // 1 appSetting.json 末尾加一行  "urls": "https://*:10086" 端口自己写         // 2 通过命令行 --urls=http://*:10086         .AddCommandLine(args)         .Build())       //启用http1 和 http2       .EnableHttp1AndHttp2()       //以下两段代码可以放到项目的Startup.cs中，本处方便说明       //组件（服务）时刻       .ConfigureServices((serviceProvider) => {           //加入Mvc组件           serviceProvider.AddControllers();           //加入Symbol Cloud Server 组件           serviceProvider.AddSymbolCloudServer();       })       //启用时刻       .Configure((context, app) => {         //启用调试页面         if (context.HostingEnvironment.IsDevelopment()) {             app.UseDeveloperExceptionPage();         }         //启用路由，Mvc必须使用         app.UseRouting();         //启用Symbol Cloud Server         app.UseSymbolCloudServer();         //启用Symbol Cloud Server API列表页面         //  true 表示 监听 / 并跳转到 /apiList.do         app.UseSymbolCloudApiList(true);          //endpoint映射         app.UseEndpoints(endpoints => {           //首页，如果ApiList为false就可以打开它           //endpoints.MapGet("/", async context => {           //    await context.Response.WriteAsync("Hello World!");           //});           //Mvc路由规则           endpoints.MapControllerRoute(name: "default", pattern: "{controller}/{action}/{id?}");         });       });    }); }  请在最终运行的项目中配置服务端参数，文件名规则为：app_data/*.cloud.server.config.json，以下为参考配置： {   //协议配置，可以是单个对象，或数组   //可以不填写   "protocol": [{     "name": "default",//名称，可选     "data": {//数据，不填写默认为json       "type": "json",  //类型：json,xml,treePackage,soap,custom       "customType": null  //可选，自定义格式类型：TestAssembly.TestClass, TestAssembly     },     "encrypt": {//加密，不填写默认不加密       "type": "none",//类型：none,AESStatic,custom       "customType": null  //可选，自定义格式类型：TestAssembly.TestClass, TestAssembly     },     "media": {//传输介质，不填写默认为original       "type": "original",//类型：original,base64,hex,custom       "customType": null  //可选，自定义格式类型：TestAssembly.TestClass, TestAssembly     }   }],   //服务器   "server": {     "name": "my.cloud",//名称，可选     "host": "localhost",//主机：域名或IP，默认localhost     "port": 1,//端口     "timeout": 120,//超时：秒，默认120，可选     "debug": true,//调试模式：默认不启用，可选     "settings": { } //参数设置：可选   },   //数据库，不需要可以不写   "database": {     //连接参数     //通用参数：主机、端口、数据库名称、账号、密码     //其它参数可以写在里面，取决于提供者是否支持     "connection": {       "host": "localhost", //主机，可以包括端口，经test.com:1433       "port":11433,  //可以不写，表示默认       "name": "test",  //数据库名称       "account": "test", //登录账号       "password": "123456" //登录密码     }   },   //客户端   "client": [     {       "name": "my.manager",//名称，可选，并没有影响       "enable": true,//状态       "authCode": "203AFBA5816078A7BAF822C04687B3D3",//授权码       "permissions": [ //权限列表，可选       ],       //外部配置，可以不写       //可以为单个字符串，或数组       //外部配置可重写 authCode       //外部配置可追加（自动去重） permissions       //路径相对于配置文件       //支持变量 {name} {server.name}       "config": [         "module.*.manager.client.json",         "{server.name}.manager.client.json"       ]     }   ] }  请在api项目中配置权限信息，命名规则以服务端配置config规则定义为准，以下为示例配置： 文件名：module.setting.manager.client.json 存储位置：app_data {   "permissions": [     //系统设置.Begin     "my.read.setting",     "my.write.setting"     //系统设置.End   ] }
Keywords: cloud|kestrel|websocket|server|symbol