WebHostBuilder
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[ASP.NET Core Web]]
&color(red){※This article is based on .NET 7};
#contents
* 概要 [#m8048734]
WebHostBuilder的使命非常明确:就是创建作为应用宿主的WebHo...
由于在创建WebHost的时候需要提供注册的服务器和由所有注册中...
#codeprettify{{
public interface IWebHostBuilder
{
IWebHostBuilder UseServer(IServer server);
IWebHostBuilder Configure(Action<IApplicationBuilder>...
IWebHost Build();
}
}}
除了用来创建WebHost的Build方法之外,我们提供了用来注册服...
如下所示的WebHostBuilder是针对IWebHostBuilder接口的默认实...
#codeprettify{{
public class WebHostBuilder : IWebHostBuilder
{
private IServer _server;
private readonly List<Action<IApplicationBuilder>> _c...
public IWebHostBuilder Configure(Action<IApplicationB...
{
_configures.Add(configure);
return this;
}
public IWebHostBuilder UseServer(IServer server)
{
_server = server;
return this;
}
public IWebHost Build()
{
var builder = new ApplicationBuilder();
foreach (var configure in _configures)
{
configure(builder);
}
return new WebHost(_server, builder.Build());
}
}
}}
* 默认提供的做法 [#x6004e41]
创建IWebHostBuilder
Program.cs
#codeprettify{{
namespace WebApplication1
{
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(stri...
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
//指定Startup类型,返回一个IWebHostBu...
webBuilder.UseStartup<Startup>();
});
}
}
}}
Startup.cs
#codeprettify{{
namespace WebApplication1
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use th...
public void ConfigureServices(IServiceCollection ...
{
services.AddControllers();
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Titl...
});
}
// This method gets called by the runtime. Use th...
public void Configure(IApplicationBuilder app, IW...
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseSwagger();
app.UseSwaggerUI(c => c.SwaggerEndpoint("...
}
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
}
}
}}
* 定制IHostBuilder [#k64de5c3]
在.Net6之前的IHostBuilder扩展方法现在可以通过属性Host来使...
#codeprettify{{
var builder = WebApplication.CreateBuilder(args);
// Wait 30 seconds for graceful shutdown
builder.Host.ConfigureHostOptions(o => o.ShutdownTimeout ...
var app = builder.Build()
}}
* 定义IWebHostBuilder [#n628e48e]
#codeprettify{{
在.Net6之前的IWebHostBuilder扩展方法可以在属性WebHost上使...
var builder = WebApplication.CreateBuilder(args);
// Change the HTTP server implemenation to be HTTP.sys ba...
builder.WebHost.UseHttpSys();
var app = builder.Build();
}}
#hr();
コメント:
#comment_kcaptcha
終了行:
[[ASP.NET Core Web]]
&color(red){※This article is based on .NET 7};
#contents
* 概要 [#m8048734]
WebHostBuilder的使命非常明确:就是创建作为应用宿主的WebHo...
由于在创建WebHost的时候需要提供注册的服务器和由所有注册中...
#codeprettify{{
public interface IWebHostBuilder
{
IWebHostBuilder UseServer(IServer server);
IWebHostBuilder Configure(Action<IApplicationBuilder>...
IWebHost Build();
}
}}
除了用来创建WebHost的Build方法之外,我们提供了用来注册服...
如下所示的WebHostBuilder是针对IWebHostBuilder接口的默认实...
#codeprettify{{
public class WebHostBuilder : IWebHostBuilder
{
private IServer _server;
private readonly List<Action<IApplicationBuilder>> _c...
public IWebHostBuilder Configure(Action<IApplicationB...
{
_configures.Add(configure);
return this;
}
public IWebHostBuilder UseServer(IServer server)
{
_server = server;
return this;
}
public IWebHost Build()
{
var builder = new ApplicationBuilder();
foreach (var configure in _configures)
{
configure(builder);
}
return new WebHost(_server, builder.Build());
}
}
}}
* 默认提供的做法 [#x6004e41]
创建IWebHostBuilder
Program.cs
#codeprettify{{
namespace WebApplication1
{
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(stri...
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
//指定Startup类型,返回一个IWebHostBu...
webBuilder.UseStartup<Startup>();
});
}
}
}}
Startup.cs
#codeprettify{{
namespace WebApplication1
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use th...
public void ConfigureServices(IServiceCollection ...
{
services.AddControllers();
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Titl...
});
}
// This method gets called by the runtime. Use th...
public void Configure(IApplicationBuilder app, IW...
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseSwagger();
app.UseSwaggerUI(c => c.SwaggerEndpoint("...
}
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
}
}
}}
* 定制IHostBuilder [#k64de5c3]
在.Net6之前的IHostBuilder扩展方法现在可以通过属性Host来使...
#codeprettify{{
var builder = WebApplication.CreateBuilder(args);
// Wait 30 seconds for graceful shutdown
builder.Host.ConfigureHostOptions(o => o.ShutdownTimeout ...
var app = builder.Build()
}}
* 定义IWebHostBuilder [#n628e48e]
#codeprettify{{
在.Net6之前的IWebHostBuilder扩展方法可以在属性WebHost上使...
var builder = WebApplication.CreateBuilder(args);
// Change the HTTP server implemenation to be HTTP.sys ba...
builder.WebHost.UseHttpSys();
var app = builder.Build();
}}
#hr();
コメント:
#comment_kcaptcha
ページ名: