ASP.NET Core項(xiàng)目配置教程(6)
在這一章,我們將討論 ASP.NET Core項(xiàng)目的相關(guān)的配置。在解決方案資源管理器中,您將看到 Startup.cs 文件。如果你有以前版本的 ASP.NET的工作經(jīng)驗(yàn),你可能希望看到一個(gè) global.asax 文件,您可以在其中編寫代碼,它是一個(gè)編寫程序啟動(dòng)時(shí)立即執(zhí)行的代碼的文件。
- 你可能也希望看到一個(gè) web.config 文件,該文件包含您的應(yīng)用程序執(zhí)行所需的所有配置參數(shù)。
- 在 ASP.NET Core中,那些文件都沒了,取而代之的是 Startup.cs文件.
- Startup.cs里面是一個(gè)啟動(dòng)類文件,并在該類中您可以配置您的應(yīng)用程序甚至配置您的配置資源。
這里是 Startup.cs 文件中的默認(rèn)實(shí)現(xiàn)代碼:
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 http://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services) {
}
// This method gets called by the runtime. Use this method to configure
// the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env,
ILoggerFactory loggerFactory) {
loggerFactory.AddConsole();
if (env.IsDevelopment()) {
app.UseDeveloperExceptionPage();
}
app.Run(async (context) => {
await context.Response.WriteAsync("Hello World!");
});
}
}
}
在啟動(dòng)類中,我們的大部分工作將設(shè)計(jì)有兩種方法。Configure 方法是構(gòu)建HTTP處理管道的地方。
- 這定義了應(yīng)用程序如何響應(yīng)請(qǐng)求。目前該應(yīng)用程序只能說“Hello World!”如果我們希望該應(yīng)用程序具有不同的行為,我們需要通過添加額外的代碼到這個(gè)Configure方法中來改變周圍的管道。
- 例如,如果我們想要提供一個(gè) index.html 文件的靜態(tài)文件,我們將需要在Configure方法中添加一些代碼。
- 你也可以有一個(gè)錯(cuò)誤頁面或Asp.Net Controller的異常請(qǐng)求的路由;這兩個(gè)場(chǎng)景還需要在這個(gè)配置方法中做一些工作。
- 在啟動(dòng)類中,您還將看到 ConfigureServices() 方法。這可幫助您配置您的應(yīng)用程序的組件。
現(xiàn)在,我們有一個(gè)硬編碼的字符串“Hello World !”來響應(yīng)每個(gè)請(qǐng)求。我們不希望每個(gè)請(qǐng)求都是硬編碼的字符串,我們想從一些組件加載響應(yīng)字符串。
- 其他組件可能會(huì)從數(shù)據(jù)庫加載文本,或從一個(gè)web服務(wù)或一個(gè)JSON文件,我們不管這它是從什么地方加載。
- 我們會(huì)設(shè)置一個(gè)場(chǎng)景,這樣我們就沒有這個(gè)硬編碼字符串了。
在解決方案資源管理器中,右鍵單擊您的項(xiàng)目節(jié)點(diǎn)并選擇Add→New Item。

在左側(cè)窗格中,選擇Installed → Code,然后在中間窗格中,選擇JSON文件。給這個(gè)文件取名為AppSetting.json,并單擊Add按鈕如上面的截圖。

讓我們?cè)贏ppSettings中添加以下代碼。
{
"message": "Hello, World! this message is from configuration file..."
}
現(xiàn)在我們需要從 Startup.cs 文件訪問此消息。這里是 Startup.cs 文件從 JSON 文件閱讀上面的消息的實(shí)現(xiàn)代碼。
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; }
// 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 http://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services) {
}
// This method gets called by the runtime.
// Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app) {
app.UseIISPlatformHandler();
app.Run(async (context) => {
var msg = Configuration["message"];
await context.Response.WriteAsync(msg);
});
}
// Entry point for the application.
public static void Main(string[] args) =7gt; WebApplication.Run<Startup>(args);
}
}
讓我們現(xiàn)在運(yùn)行應(yīng)用程序。一旦您運(yùn)行該應(yīng)用程序,它會(huì)產(chǎn)生下面的輸出。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- .NET 6 中的隱式命名空間引用
- .NET6中哈希算法的簡(jiǎn)化用法的實(shí)現(xiàn)
- CefSharp v62修改方法(支持.net4.0)
- ASP.NET Core部署前期準(zhǔn)備 使用Hyper-V安裝Ubuntu Server 16.10
- ASP.NET MVC5+EF6+EasyUI 后臺(tái)管理系統(tǒng)(81)-數(shù)據(jù)篩選(萬能查詢)實(shí)例
- ASP.NET MVC異步獲取和刷新ExtJS6 TreeStore
- ASP.NET MVC5+EF6+EasyUI后臺(tái)管理系統(tǒng) 微信公眾平臺(tái)開發(fā)之資源環(huán)境準(zhǔn)備
- ASP.NET MVC5+EF6+EasyUI后臺(tái)管理系統(tǒng) 微信公眾平臺(tái)開發(fā)之消息管理
- .NET 6 即將到來的新特性 隱式命名空間引用
相關(guān)文章
C#讀取中文字符及清空緩沖區(qū)的實(shí)現(xiàn)代碼
有一個(gè)txt的中英文語料庫文件,內(nèi)容是英文一句中文一句相間的,共3000行,需要把英文句和中文句分開,放在單獨(dú)的txt文件中。2010-12-12
[譯]ASP.NET Core 2.0 網(wǎng)址重定向的方法
本篇文章主要介紹了[譯]ASP.NET Core 2.0 網(wǎng)址重定向的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10
Entity Framework使用Code First模式管理數(shù)據(jù)庫
本文詳細(xì)講解了Entity Framework使用Code First模式管理數(shù)據(jù)庫的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
asp.net 自定義控件實(shí)現(xiàn)無刷新上傳圖片,立即顯示縮略圖,保存圖片縮略圖
自定義控件實(shí)現(xiàn)無刷新上傳圖片,立即顯示縮略圖,保存圖片縮略圖2010-01-01
利用ASP.NET MVC和Bootstrap快速搭建響應(yīng)式個(gè)人博客站(一)
這篇文章主要介紹了利用ASP.NET MVC和Bootstrap快速搭建響應(yīng)式個(gè)人博客站(一)的相關(guān)資料,需要的朋友可以參考下2016-06-06
Server Application Unavailable出現(xiàn)的原因及解決方案小結(jié)
今天在服務(wù)器安裝了個(gè).net 4.0 framework(原本有1.0和2.0的),配置好站點(diǎn)后,選擇版本為4.0,訪問出錯(cuò),asp.net經(jīng)常會(huì)出現(xiàn)這個(gè)問題,這里腳本之家簡(jiǎn)單的給整理下2012-05-05
asp.net Page.Controls對(duì)象(找到所有服務(wù)器控件)
通過此對(duì)象找到所有服務(wù)器控件。2008-11-11

