Ai
7 Star 111 Fork 43

a SSC博士-苏子轩 /AKStreamUI

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
Startup.cs 5.01 KB
一键复制 编辑 原始数据 按行查看 历史
a SSC博士-苏子轩 提交于 2021-07-14 10:12 +08:00 . 添加项目文件。
using Furion.Extras.Admin.NET;
using Furion.Extras.Admin.NET.Service;
using Furion;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpOverrides;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using OnceMi.AspNetCore.OSS;
using Serilog;
using Yitter.IdGenerator;
namespace Admin.NET.Web.Core
{
public class Startup : AppStartup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddJwt<JwtHandler>(enableGlobalAuthorize: true);
services.AddRemoteRequest();//远程请求服务
services.AddCorsAccessor();
services.AddRemoteRequest();
services.AddControllersWithViews()
.AddMvcFilter<RequestActionFilter>()
.AddNewtonsoftJson(options =>
{
// 首字母小写(驼峰样式)
options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
// 时间格式化
options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
// 忽略循环引用
options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
// 忽略空值
// options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
})
.AddInjectWithUnifyResult<XnRestfulResultProvider>();
services.AddViewEngine();
services.AddSignalR();
services.AddSimpleEventBus();
if (App.Configuration["Cache:CacheType"] == "RedisCache")
{
services.AddStackExchangeRedisCache(options =>
{
options.Configuration = App.Configuration["Cache:RedisConnectionString"]; // redis连接配置
options.InstanceName = App.Configuration["Cache:InstanceName"]; // 键名前缀
});
}
//// default minio
//// 添加默认对象储存配置信息
//services.AddOSSService(option =>
//{
// option.Provider = OSSProvider.Minio;
// option.Endpoint = "oss.oncemi.com:9000";
// option.AccessKey = "Q*************9";
// option.SecretKey = "A**************************Q";
// option.IsEnableHttps = true;
// option.IsEnableCache = true;
//});
// aliyun oss
// 添加名称为‘aliyunoss’的OSS对象储存配置信息
services.AddOSSService("aliyunoss", option =>
{
option.Provider = OSSProvider.Aliyun;
option.Endpoint = "oss-cn-hangzhou.aliyuncs.com";
option.AccessKey = "L*******************U";
option.SecretKey = "5*******************************T";
option.IsEnableCache = true;
});
//// qcloud oss
//// 从配置文件中加载节点为‘OSSProvider’的配置信息
//services.AddOSSService("QCloud", "OSSProvider");
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
// NGINX 反向代理获取真实IP
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});
// 添加状态码拦截中间件
app.UseUnifyResultStatusCodes();
app.UseHttpsRedirection(); // 强制https
app.UseStaticFiles();
// Serilog请求日志中间件---必须在 UseStaticFiles 和 UseRouting 之间
app.UseSerilogRequestLogging();
app.UseRouting();
app.UseCorsAccessor();
app.UseAuthentication();
app.UseAuthorization();
app.UseInject(string.Empty);
app.UseEndpoints(endpoints =>
{
endpoints.MapHub<ChatHub>("/hubs/chathub");
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
// 设置雪花Id的workerId,确保每个实例workerId都应不同
var workerId = ushort.Parse(App.Configuration["SnowId:WorkerId"] ?? "1");
YitIdHelper.SetIdGenerator(new IdGeneratorOptions { WorkerId = workerId });
// 开启自启动定时任务
App.GetService<ISysTimerService>().StartTimerJob();
}
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C#
1
https://gitee.com/sscboshi/AKStreamUI.git
git@gitee.com:sscboshi/AKStreamUI.git
sscboshi
AKStreamUI
AKStreamUI
master

搜索帮助