在本章中,无涯教程将讨论与ASP.NET Core项目相关的配置,在Solution Explorer中,您将看到Startup.cs文件。如果您使用过ASP.NET Core的早期版本,则可能希望看到一个global.asax文件,该文件是您可以在Web应用程序启动期间编写要执行的代码的地方。
您还希望看到一个web.config文件,其中包含应用程序执行所需的所有配置参数。
在ASP.NET Core中,这些文件都消失了,而是从Startup.cs加载配置和启动代码。
文件中有一个Startup类,在该类中,您可以配置应用程序,甚至可以配置配置源。
这是 Startup.cs文件中的默认实现。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
namespace FirstAppDemo {
public class Startup {
//This method gets called by the runtime.
//Use this method to add services to the container.
//For more information on how to configure your application,
//visit go.microsoft.com/fwlink/?Lin…
public void ConfigureServices(IServiceCollection services) {
}
</span><span class="com">//This method gets called by the runtime. Use this method to configure </span><span class="pln">
</span><span class="com">//the HTTP request pipeline.</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> </span><span class="typ">Configure</span><span class="pun">(</span><span class="typ">IApplicationBuilder</span><span class="pln"> app</span><span class="pun">,</span><span class="pln"> </span><span class="typ">IHostingEnvironment</span><span class="pln"> env</span><span class="pun">,</span><span class="pln">
</span><span class="typ">ILoggerFactory</span><span class="pln"> loggerFactory</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
loggerFactory</span><span class="pun">.</span><span class="typ">AddConsole</span><span class="pun">();</span><span class="pln">
</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">env</span><span class="pun">.</span><span class="typ">IsDevelopment</span><span class="pun">())</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
app</span><span class="pun">.</span><span class="typ">UseDeveloperExceptionPage</span><span class="pun">();</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
app</span><span class="pun">.</span><span class="typ">Run</span><span class="pun">(</span><span class="kwd">async</span><span class="pln"> </span><span class="pun">(</span><span class="pln">context</span><span class="pun">)</span><span class="pln"> </span><span class="pun">=></span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="kwd">await</span><span class="pln"> context</span><span class="pun">.</span><span class="typ">Response</span><span class="pun">.</span><span class="typ">WriteAsync</span><span class="pun">(</span><span class="str">"Hello World!"</span><span class="pun">);</span><span class="pln">
</span><span class="pun">});</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
}
}
在Startup类中,有两种方法将完成大部分工作。
在Solution Explorer 中,右键单击您的项目节点,然后选择 Add→New Item。

在左窗格中,选择 Installed→Code ,然后在中间窗格中,选择JSON File,将此文件命名为 AppSettings.json ,然后单击 Add 按钮,如上面的屏幕截图所示。

也可以让程序从文件中读取文本,而不是使用Hello World!Startup.cs中的字符串,在 AppSettings.json文件中添加以下代码。
{ "message": "Hello, World! this message is from configuration file..." }
现在,需要从Startup.cs文件访问此消息。这是 Startup.cs 文件的实现,该文件将从JSON文件读取以上消息。
using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Hosting;
using Microsoft.AspNet.Http;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration;
namespace FirstAppDemo {
public class Startup {
public Startup() {
var builder = new ConfigurationBuilder()
.AddJsonFile("AppSettings.json");
Configuration = builder.Build();
}
public IConfiguration Configuration { get; set; }
</span><span class="com">//This method gets called by the runtime. </span><span class="pln">
</span><span class="com">//Use this method to add services to the container. </span><span class="pln">
</span><span class="com">//For more information on how to configure your application, </span><span class="pln">
</span><span class="com">//visit http://go.microsoft.com/fwlink/?LinkID=398940 </span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> </span><span class="typ">ConfigureServices</span><span class="pun">(</span><span class="typ">IServiceCollection</span><span class="pln"> services</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="com">//This method gets called by the runtime. </span><span class="pln">
</span><span class="com">//Use this method to configure the HTTP request pipeline. </span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> </span><span class="typ">Configure</span><span class="pun">(</span><span class="typ">IApplicationBuilder</span><span class="pln"> app</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
app</span><span class="pun">.</span><span class="typ">UseIISPlatformHandler</span><span class="pun">();</span><span class="pln">
app</span><span class="pun">.</span><span class="typ">Run</span><span class="pun">(</span><span class="kwd">async</span><span class="pln"> </span><span class="pun">(</span><span class="pln">context</span><span class="pun">)</span><span class="pln"> </span><span class="pun">=></span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="kwd">var</span><span class="pln"> msg </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Configuration</span><span class="pun">[</span><span class="str">"message"</span><span class="pun">];</span><span class="pln">
</span><span class="kwd">await</span><span class="pln"> context</span><span class="pun">.</span><span class="typ">Response</span><span class="pun">.</span><span class="typ">WriteAsync</span><span class="pun">(</span><span class="pln">msg</span><span class="pun">);</span><span class="pln">
</span><span class="pun">});</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="com">//Entry point for the application. </span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> </span><span class="typ">Main</span><span class="pun">(</span><span class="kwd">string</span><span class="pun">[]</span><span class="pln"> args</span><span class="pun">)</span><span class="pln"> </span><span class="pun">=</span><span class="lit">7gt</span><span class="pun">;</span><span class="pln"> </span><span class="typ">WebApplication</span><span class="pun">.</span><span class="typ">Run</span><span class="pun"><</span><span class="typ">Startup</span><span class="pun">>(</span><span class="pln">args</span><span class="pun">);</span><span class="pln">
}
}
现在让无涯教程运行该应用程序。一旦运行该应用程序,它将产生以下输出。