-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStartup.cs
More file actions
132 lines (105 loc) · 4.55 KB
/
Copy pathStartup.cs
File metadata and controls
132 lines (105 loc) · 4.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.FileProviders;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using PDAPI.DataRepositories;
using PDAPI.Extensions;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
namespace PDAPI
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
var connectionDict = new Dictionary<DbConnectionName, string>
{
{ DbConnectionName.CSC, this.Configuration.GetConnectionString("CSC") },
{ DbConnectionName.EEPDC, this.Configuration.GetConnectionString("EEPDC")},
{ DbConnectionName.SMD, this.Configuration.GetConnectionString("SMD")},
{ DbConnectionName.POP, this.Configuration.GetConnectionString("POP")}
};
services.AddSingleton<IDictionary<DbConnectionName, string>>(connectionDict);
services.AddTransient<IDbConnectionFactory, DbConnectionFactory>();
services.AddScoped<IDbConnection, SqlConnection>(serviceProvider => {
SqlConnection conn = new SqlConnection();
//指派連線字串
conn.ConnectionString = Configuration.GetConnectionString("CSC");
return conn;
});
services.AddDirectoryBrowser();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
//引用自定义文件路径
var path = Configuration.GetValue<string>("Setting:DownloadPath");
if (!Directory.Exists(path)) Directory.CreateDirectory(path);
//var path = @"D:\Temp\wwwroot\";
var staticFile = new StaticFileOptions();
staticFile.FileProvider = new PhysicalFileProvider(path);
app.UseStaticFiles(staticFile);
//显示静态文件路径下的所有文件
var staticBrowser = new DirectoryBrowserOptions();
staticBrowser.FileProvider = new PhysicalFileProvider(path);
app.UseDirectoryBrowser(staticBrowser);
//app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
}
}
/*
public void ConfigureServices(IServiceCollection services)
{
services.AddDirectoryBrowser();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
//引用自定义文件路径
var path = @"C:\Users\LIKUI\Desktop\试点项目\";
var staticFile = new StaticFileOptions();
staticFile.FileProvider = new PhysicalFileProvider(path);
app.UseStaticFiles(staticFile);
//显示静态文件路径下的所有文件
var staticBrowser = new DirectoryBrowserOptions();
staticBrowser.FileProvider = new PhysicalFileProvider(path);
app.UseDirectoryBrowser(staticBrowser);
app.UseHttpsRedirection();
app.UseMvc();
}
*/