日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

.NET Core开发:项目实践

發布時間:2023/12/4 asp.net 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET Core开发:项目实践 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

初始化項目

  本來想詳細講一講dotnet core的,但我對于dotnet core的研究還不到一星期,半吊子,腦子又笨,就不寫那些理論出來誤人子弟了,還是直接來一篇實踐給大家做個參考。廢話不多說,直接上項目,這里我設計了一個簡單的控制臺應用程序,抓取

  http://f.apiplus.cn

的雙色球信息,并持久化到SQL Server,同時還引用了Json.NET和Dapper兩個外部組件。

  使用dotnet new新建項目,并入下圖所示新建Common、Persistent、Service三個文件夾:

  

  • Common文件夾中用于存放公共組件類;

  • Persistent用于存放實體和實體操作類;

  • Service用于處理實現抓取業務并將數據通過Common將數據插入到數據庫總。

  接著,我們需要引入Json.NET和Dapper兩個外部組件,傳統的.net項目可以通過nuget來管理,.net core項目也是如此,但是他并不會像.net項目那樣把package下載到項目的根目錄下,而是package下載到用戶根目錄下集中管理(例:C:\Users\Administrator\.nuget),不得不說,這一套和maven很像,這樣的好處是管理起來方便,實現了依賴包的復用,項目看起來也更為清爽,不過如果你需要引入自己開發的項目,就需要使用dotnet pack先對項目進行打包后再做本地引入,project.json的配置如下:

{

? ? "version": "1.0.0-*",

? ? "buildOptions": {

? ? ? ? "debugType": "portable",

? ? ? ? "emitEntryPoint": true,

? ? ? ? "copyToOutPut": "appconfig.json"

? ? },

? ? "dependencies": {

? ? ? ? "Newtonsoft.Json": "9.0.1",

? ? ? ? "Dapper": "1.50.2",

? ? ? ? "System.Data.SqlClient": "4.1.0",

? ? ? ? "Microsoft.Extensions.Configuration": "1.0.0-rc2-final",

? ? ? ? "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0-rc2-final",

? ? ? ? "Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final",

? ? ? ? "System.Text.Encoding.CodePages": "4.0.1"

? ? },

? ? "frameworks": {

? ? ? ? "netcoreapp1.0": {

? ? ? ? ? ? "dependencies": {

? ? ? ? ? ? ? ? "Microsoft.NETCore.App": {

? ? ? ? ? ? ? ? ? ? "version": "1.0.0"

? ? ? ? ? ? ? ? }

? ? ? ? ? ? },

? ? ? ? ? ? "imports": "dnxcore50"

? ? ? ? }

? ? },

? ? "runtimes": {

? ? ? ? "win7-x64": {},

? ? ? ? "osx.10.11-x64": {}

? ? },

? ? "publishOptions": {

? ? ? ? "include": [

? ? ? ? ? ? "appconfig.json"

? ? ? ? ]

? ? }

}

我們可以看到在project.json的dependencies節點中定義了項目依賴,以"Dapper": "1.50.2"為例,Dapper是我們需要引用的包的名稱,1.50.2是引入的版本號,不過請務必使用 https://www.nuget.org 上的名稱和版本號,并確認當前包包是否支持.net core。按照微軟的官方說法是他們打算在未來啟用這個project.json,不過有興趣的同學可以訪問:

  https://docs.microsoft.com/en-us/dotnet/articles/core/tools/project-json

查看有關它的詳細介紹。

  

數據庫設計

  創建Lotto數據庫,并執行腳本如下:

USE [Lotto]

? ? CREATE TABLE [dbo].[UnionLotto](

? ? [Id] [bigint] IDENTITY(1,1) NOT NULL,

? ? [SN] [bigint] NOT NULL,

? ? [PublishDate] [datetime] NOT NULL,

? ? [Red1] [int] NOT NULL,

? ? [Red2] [int] NOT NULL,

? ? [Red3] [int] NOT NULL,

? ? [Red4] [int] NOT NULL,

? ? [Red5] [int] NOT NULL,

? ? [Red6] [int] NOT NULL,

? ? [Blue1] [int] NOT NULL,

?CONSTRAINT [PK_UnionLotto] PRIMARY KEY CLUSTERED?

(

? ? [Id] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]


?編碼實現

  在Common文件夾下新建QuickConfig和QuickBrowser類,QuickBrowser用于發起Http請求抓取數據,QuickConfig用于獲取系統配置: 

?QuickBrowser

在QuickBrowser中,可以看到我并未使用WebRequest.GetResponse()去抓取使用,而是使用了BeginGetResponse的異步方法進行操作,因為.net core中并未發現GetResponse()方法,看來微軟在重新設計.net core時,該方法被摒棄了,所以在使用.net core時還是小心為好。 

?QuickConfig

在QuickConfig中,我們可以看到配置文件的獲取方式也和.net有了很大的不同,可以使用mermory、json、xml等多種方式,具體可以參考博客園大神

  http://www.cnblogs.com/artech/p/new-config-system-01.html

的文章,本例中會去加載自定義的appconfig.josn文件。

  使用VS Code新建Class真的很麻煩,namespace和class的聲明均需要自己去拼寫,不知道有沒有人知道什么簡便的方法。

  在Presistent下新建UnionLotto、UnionLottoFactory和UnionLottoDbWork類:

?UnionLotto

?UnionLottoFactory

?UnionLottoDbWork

在Servie下新建DataSpiderService和UnionLottoService類:

?DataSpiderService

?UnionLottoService

在根目錄下添加appconfig.json文件:

?appconfig.json

appconfig.json中定義了項目數據庫鏈接和api抓取地址,回顧一下project.json中的配置,我們可以發現publishOptions.include配置,因為發布時appconfig.json并不會被拷貝到發布包中,需要手動將其引入進來。

執行

  最后在Program中調用:

?Program

使用dotnet publish后,在..\bin\Debug\netcoreapp1.0\win7-x64\publish下找到JokeBuy.exe執行后,數據成功插入到數據庫:

  

執行成功!

原文地址:http://www.cnblogs.com/krockey/p/5985136.html


.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注

總結

以上是生活随笔為你收集整理的.NET Core开发:项目实践的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。