手机和网站页面模板,附近的计算机培训班,做公益活动的网站,财务管理培训初始化项目 本来想详细讲一讲dotnet core的#xff0c;但我对于dotnet core的研究还不到一星期#xff0c;半吊子#xff0c;脑子又笨#xff0c;就不写那些理论出来误人子弟了#xff0c;还是直接来一篇实践给大家做个参考。废话不多说#xff0c;直接上项目#xff0c… 初始化项目 本来想详细讲一讲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跨平台或扫描二维码关注