ASP.NET Core 行軍記 -----拔營啟程

来源:http://www.cnblogs.com/wupeng/archive/2016/03/17/5289297.html
-Advertisement-
Play Games

ASP.NET MVC 6:https://docs.asp.net/en/latest/mvc/index.html ASP.NET Core :https://docs.asp.net/en/latest/fundamentals/index.html cli-samples : https:/


ASP.NET MVC 6:https://docs.asp.net/en/latest/mvc/index.html

ASP.NET Core :https://docs.asp.net/en/latest/fundamentals/index.html

cli-samples  : https://github.com/aspnet/cli-samples

以下是我在學習過程中的一些總結,作此記錄

抱怨!

微軟的發佈候選版本真是坑爹……

1:三月初開始看 ASP.NET Core ,利用 2015 搭建了個測試項目,一切正常一切 OK,可以說是一步到位沒有任何問題(開心得不得了,感覺都快上天了

2:可惜好景不長,就這本周將項目更新到了RC2,項目的程式包還原就一直報錯:【引用(錯誤-參閱“錯誤列表”)】(失落、悲憤、狂躁……

3:四處尋覓,終得.NET跨平臺之旅:將示例站點從 ASP.NET 5 RC1 升級至 ASP.NET Core 1.0,喜出望外。

4:今天利用 dotnet restore 更新了包之後又 GG 了。

 

疑問?

腦子不夠用呀,誰有多的給我來兩斤!

1:CR2 後,如何將項目寄宿到 IIS 或者 IIS Express 中?

2:為何我 2015 中,我右鍵引用-還原程式包總是報錯【引用(錯誤-參閱“錯誤列表”)】,然而在命令行中使用 dotnet restore 之後又正常了。

3:有時候會出現【no actions matched the current request】的錯誤,說什麼路由已經匹配成功了,但是請求匹配不到 action,這又是個什麼梗?但是當我重新修改 Startup.cs 文件之後就又可以了!

   …………

N:and so on.

 

基本配置

時間:2016年3月17日 19:05:03

1,程式入口配置(Program.cs):

public class Program
{
    public static void Main(string[] args)
    {
        var host = new WebHostBuilder()
                    .UseServer("Microsoft.AspNetCore.Server.Kestrel")
                    .UseContentRoot(Directory.GetCurrentDirectory())    
                    .UseDefaultConfiguration(args)
                    .UseIISPlatformHandlerUrl()
                    .UseStartup<Startup>()
                    .Build();

        host.Run();
    }
}
註:3.15打假日將 

UseApplicationBasePath(Directory.GetCurrentDirectory())

 修改為 

UseContentRoot(Directory.GetCurrentDirectory())

 反正搞不清為什麼,記錄下。
 
2,啟動項程式(Startup.cs):
public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();
        services.AddTransient<Model.Services.StatisticsService>();
    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        app.UseMiddleware<artifacts.Middlewares.TimeRecorderMiddleware>();
         
        loggerFactory.AddConsole(LogLevel.Debug);

        app.UseIISPlatformHandler();
        app.UseForwardedHeaders(new ForwardedHeadersOptions
        {
            ForwardedHeaders = ForwardedHeaders.All
        });

        app.UseStaticFiles();

        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseMvcWithDefaultRoute();
    }
}

配置好入口程式和啟動程式後通過命令 dotnet restore 更新包,然後鍵入 dotnet run 開啟自我寄宿服務。

就可以通過 http://localhost:5000 通過預設路由載入頁面。

好了,簡單配置就是這樣啦。

 

從無建站的簡單流程

1,win + R 鍵入 cmd ,然後定位到一個目錄(我的目錄是D:\ASP.NET)。

D:\ASP.NET>dotnet new
Created new C# project in D:\ASP.NET.

 

2,通過命令 dotnet new 初始化一個簡單基礎的 .net 項目。

D:\ASP.NET>dotnet restore
log  : Restoring packages for D:\ASP.NET\project.json...
info : Committing restore...
log  : Restore completed in 4200ms.
NuGet Config files used:
    D:\ASP.NET\NuGet.Config
    C:\Users\Administrator\AppData\Roaming\NuGet\NuGet.Config
Feeds used:
    https://dotnet.myget.org/F/dotnet-core/api/v3/index.json
    https://api.nuget.org/v3/index.json

 

3,輸入啟動的命令 dotnet run ,啟動程式。

D:\ASP.NET>dotnet run
Compiling ASP.NET for DNXCore,Version=v5.0

Compilation succeeded.
    0 Warning(s)
    0 Error(s)

Time elapsed 00:00:03.2201958


Hello World!

 

4,就這樣運行起來了,很容易入門呀

//Program 文件
    public class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }

 

註:目錄結構為:

D:.
│  NuGet.Config
│  Program.cs
│  project.json
│  project.lock.json
│
├─bin
│  └─Debug
│      └─dnxcore50
│          │  ASP.NET.dll
│          │  ASP.NET.pdb
│          │
│          └─win7-x64
│                  ASP.NET.deps
│                  ASP.NET.dll
│                  ASP.NET.exe
│                  ASP.NET.pdb
│                  hostpolicy.dll
│
└─obj
    └─Debug
        └─dnxcore50
                dotnet-compile-csc.rsp
                dotnet-compile.assemblyinfo.cs
                dotnet-compile.rsp

 

因為 dotnet new 創建的是控制台應用程式,所有就只有一個Program文件。

如果需要搭建 WEB 應用程式,就需要添加 Startup.cs 文件(上面有),然後在 Program.cs 中利用 WebHostBuilder 來寄宿。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 運行-cmd,輸入下麵命令:C:\WINDOWS\Microsoft.NET\Framework\v版本號\aspnet_regiis.exe -i即可 以下是aspnet_regiis.exe參數的說明信息: -i - 安裝 ASP.NET 的此版本,並更新 IIS 元資料庫根處的腳本映射和根以下
  • 使用ASP.NET模版生成HTML靜態頁面並不是難事,主要是使各個靜態頁面間的關聯和鏈接如何保持完整。本文介紹了使用ASP.NET模版生成HTML靜態頁面的五種方案。 ASP.NET模版生成HTML靜態頁面方案1: 你可以用這個函數獲取網頁的客戶端的html代碼,然後保存到.html文件里就可以了。
  • 泛型是CLR和編程語言提供的一種特殊機制,它用於滿足“演算法重用” 。 可以想象一下一個只有操作的參數的數據類型不同的策略模式,完全可以用泛型來化為一個函數。 以下是它的優勢: 這就是為什麼List<T>淘汰了ArrayList的原因,特別是在進行值類型操作時,因為裝箱拆箱過多而差距很大。 約定:泛型
  • 本篇體驗ASP.NET Web API的安全管道。這裡的安全管道是指在請求和響應過程中所經歷的各個組件或進程,比如有IIS,HttpModule,OWIN,WebAPI,等等。在這個管道中大致分兩個階段,一個是驗證階段,另一個是授權階段。在ASP.NET Web API v1版本的時候,安全管道大致
  • 1. 【二進位(0~1)、八進位(0~7)、十進位(0~9)】→十六進位(0~15,10~15→A~F) 101011→1*20+1*21+0*22+1*23+0*24+1*25=1+2+0+8+0+32=43 053→3*80+5*81=3+40=43 0x2B=B*160+2*161=11+32
  • In the previous tutorial you created an MVC application that stores and displays data using the Entity Framework and SQL Server LocalDB. In this tutor
  • 1. 2.Note It's a common practice to implement the repository pattern in order to create an abstraction layer between your controller and the data acce
  • 一、選擇器是什麼 有了jQuery的選擇器,我們幾乎可以獲取頁面上任意一個或一組對象 二、Dom對象和jQuery包裝集 1.Dom對象 JavaScript中獲取Dom對象的方式 Hello World 輸出的結果 2.jQuery包裝集 可以理解為是Dom對象的擴展,在jQuery的世界中所有的...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...