ASP.NET Core項目結構教程(4)
在這一章,我們將討論 ASP.NET Core項目在文件系統(tǒng)上的組成方式以及不同的文件和目錄都是如何協(xié)同工作的。
讓我們打開在前一章創(chuàng)建的FirstAppDemo項目。

在解決方案資源管理器窗口中,右擊解決方案節(jié)點并選擇“Open Folder in File Explorer”。

您將看到在它的根目錄下有兩個文件︰ FirstAppDemo.sln和global.json。

FirstAppDemo.sln文件是一個解決方案文件。Visual Studio多年來在默認情況下一直使用sln這個擴展名稱,如果你想在Visual Studio中打開應用程序,你可以雙擊這個文件。
還有一個global.json文件。讓我們在Visual Studio中打開這個文件。

在global.json文件中,項目的設置是非常重要的。本項目設置告訴ASP.NET去哪里尋找你的源代碼以及哪些文件夾包含您的項目源碼。
一般新建的項目包含有兩個重要的文件夾:包含源碼的“source”文件夾和一個“test”文件夾。除非你的項目和源代碼都在這兩個文件夾中,否則項目將編譯失敗。如果有必要,你可以根據(jù)自己的需要改變這些設置。
我們現(xiàn)在的項目中沒有test文件夾。在test文件夾,你可以存放你的單元測試的項目。讓我們雙擊“src”文件夾。

你可以看到FirstAppDemo web應用程序項目現(xiàn)在,雙擊文件夾。

這些都是應用程序的源代碼文件,您也可以在解決方案資源管理器窗口中看到這個文件夾結構。
如果您添加一個新文件到項目文件夾中,該文件將自動被添加到該項目。如果你刪除一個文件,該文件也將從項目中刪除。項目與文件系統(tǒng)一切保持同步,這與以前的Asp.NET版本有點不同。
當文件更改或將添加了新的文件時,ASP.NET Core也會自動編譯您的應用程序。
案例
讓我們看看一個簡單的例子,在記事本中打開Startup.cs文件:

下面這行代碼用來響應向該應用程序發(fā)出的每個 HTTP 請求,這里它僅響應 “Hello World !”
讓我們修改在上面的截圖中的字符串,改為“Hello World! This ASP.NET Core Application”,如以下所示:
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! This ASP.NET Core Application");
});
}
}
}
在文本編輯器中按Ctrl+S保存這個文件,然后回到web瀏覽器,刷新應用程序。

你現(xiàn)在可以看到你的更改會反映在瀏覽器中。
- 這是因為 ASP.NET 會監(jiān)視文件系統(tǒng),當文件發(fā)生更改時自動編譯應用程序。你不需要顯式地在 Visual Studio 中重新編譯應用。
- 實際上,您完全可以使用一個不同的編輯器,像Visual Studio Code等。
- 所有您使用Visual Studio時需要做的就是通過運行調(diào)試器啟動web服務器。你也可以按 Ctrl + F5,可以編輯文件,保存文件,刷新瀏覽器來查看更改。
- 這是使用C#構建 web 應用程序的很好的流程。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
ASP.NET中的DataGridView綁定數(shù)據(jù)和選中行刪除功能具體實例
廢話就不多說了,都說.NET是托控件的,我就托給你們看,這個博文主要講 DataGridView 的數(shù)據(jù)綁定,和選中行刪除功能2013-12-12
.Net中關于stirng轉System.Type的一種實現(xiàn)思路詳解
這篇文章主要給大家介紹了.Net中關于stirng轉System.Type的一種實現(xiàn)思路的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-05-05
ASP.NET(C#)中操作SQLite數(shù)據(jù)庫實例
最近項目中有使用到SQLite數(shù)據(jù)庫,于是查找資料,編寫了一個ASP.NET基于C#語言的SQLite數(shù)據(jù)庫操作實例.大家看代碼就可以看懂了,和以往使用ADO.NET操作SQL數(shù)據(jù)庫類似.2009-12-12
asp.net性能優(yōu)化之使用Redis緩存(入門)
本文主要介紹了asp.net性能優(yōu)化之使用Redis緩存的相關知識。具有很好的參考價值,下面跟著小編一起來看下吧2017-03-03
SignalR Self Host+MVC等多端消息推送服務(三)
這篇文章主要為大家詳細介紹了SignalR Self Host+MVC等多端消息推送服務的第三篇,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
C#調(diào)用動態(tài)unlha32.dll解壓Lha后綴的打包文件分享
這篇文章介紹了,C#調(diào)用動態(tài)unlha32.dll解壓Lha后綴的打包文件,有需要的朋友可以參考一下2013-09-09

