创建项目
在VS中创建一个空的Asp.Net Core 3.1 Web应用程序
Program.cs
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
Startup.cs
public class Startup
{
//注册服务
public void ConfigureServices(IServiceCollection services)
{
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
//配置Http请求管道(即:添加配置中间件)
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapGet("/", async context =>
{
await context.Response.WriteAsync("Hello World!");
});
});
}
}
启动方式
launchSettings.json
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:4982",
"sslPort": 44314
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"Three": { //自己宿主,作为控制台应用启动
"commandName": "Project",
"launchBrowser": true,
"applicationUrl": "https://localhost:5001;http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
注册服务
Startup.cs
//注册服务
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews(); //做Web 应用程序,使用视图页面
services.AddControllers(); //做webApi应用
}
依赖注入自己的服务
新建服务接口IClock
,及其实现类ChinaClock
和 UtcClock
新建文件夹 Controllers,并在其里面新建文件 HomeController
继承 Controller
public class HomeController : Controller
{
public HomeController(IClock clock)
{
}
}
注册自己的服务
//注册服务
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews(); //做Web 应用程序,使用视图页面 services.AddControllers(); //做webApi应用
services.AddSingleton<IClock, ChinaClock>(); //添加自己的服务
}