无涯教程-ASP.NET Core - 配置文件

61 阅读2分钟

在本章中,无涯教程将讨论与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">=&gt;</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。

Add First Item

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

Installed Code

也可以让程序从文件中读取文本,而不是使用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">=&gt;</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">&lt;</span><span class="typ">Startup</span><span class="pun">&gt;(</span><span class="pln">args</span><span class="pun">);</span><span class="pln"> 

} }

现在让无涯教程运行该应用程序。一旦运行该应用程序,它将产生以下输出。

Run The Application

参考链接

www.learnfk.com/asp.net_cor…