当前位置: 首页 > news >正文

莱钢建设网站网站怎么做赚钱

莱钢建设网站,网站怎么做赚钱,wordpress自建全屏页面,合肥公司做网站ASP.NET Core 1.0 更新比较快#xff08;可能后面更新就不大了#xff09;#xff0c;阅读注意时间节点#xff0c;这篇博文主要记录用 ASP.NET Core 1.0 开发简单应用项目的一些记录#xff0c;以备查阅。 ASP.NET Core 1.0 相关 Nuget 程序包源#xff1a;https://api.… ASP.NET Core 1.0 更新比较快可能后面更新就不大了阅读注意时间节点这篇博文主要记录用 ASP.NET Core 1.0 开发简单应用项目的一些记录以备查阅。 ASP.NET Core 1.0 相关 Nuget 程序包源https://api.nuget.org/v3/index.json 阅读目录 理解 .NET Platform StandardStartup 配置Sample.BootStrapper.Startup 配置ASP.NET Core 1.0 Startup 配置 UnitTest 单元测试类库项目单元测试WebApi 项目单元测试 Microsoft.EntityFrameworkCore基本配置MySqlModelBuilderExtenions 扩展记录执行 SQLEntityFrameworkCore 迁移 CLI 命令 1. 理解 .NET Platform Standard 在用 ASP.NET Core 1.0 开发之前理解 .NET Platform Standard.NET 平台标准是非常有必要的因为部署是跨平台的ASP.NET Core 1.0 应用程序的配置不同部署环境也会不同并且项目之间的兼容也会存在一些问题。 .NET Platform Standard 列表2016 上半年 Target Platform NameAlias       .NET Platform Standardnetstandard1.01.11.21.31.41.51.6.NET Corenetcoreapp→→→→→→1.0.NET Frameworknet→→→→→→4.6.3→→→→→4.6.2→→→→4.6.1→→→4.6→→4.5.2→→4.5.1→4.5Universal Windows Platformuap→→→→10.0Windowswin→→8.1→8.0Windows Phonewpa→→8.1Windows Phone Silverlightwp8.18.0Mono/Xamarin Platforms→→→→→→*Mono→→* 上面图表时间虽然有点老但和现在的发展是一样的只不过版本有所更新主要的三个平台 .NET Platform Standardnetstandard.NET 平台标准或者称为 .NET 通用平台是 .NET 部署所有平台的一种通用标准规范包含 Windows、Mac、Linux 等建议使用现在最新版本是 1.6 2.0 版本快发布。.NET Corenetcoreapp.NET Core SDK running on CoreCLR/CoreFx简单来说可以跑在安装 CoreCLR/CoreFx 的任何平台上包含 Windows、Mac、Linux 等前提必须是有 .NET Core 的运行环境建议使用现在最新版本是 1.1.0.NET Frameworknet.Net Framework SDK running on Desktop CLR / Full BCL and FCL简单来说只能跑在 Windows 平台上不建议使用最新版本是 4.6.3。 我们在开发 ASP.NET Core 1.0 应用程序的时候一般是选择netstandard或netcoreapp版本并且这两个平台版本是相互兼容的分别看一下示例 netstandard1.6平台 {version: 1.0.0,dependencies: {Microsoft.EntityFrameworkCore: 1.0.0,NETStandard.Library: 1.6.1},frameworks: {netstandard1.6: {imports: dnxcore50}}} imports: dnxcore50 的意思是兼容之前dnxcore50平台dnxcore50现在已被废弃并被netcoreapp取代比如你之前有个类库是用dnxcore50平台开发的现在使用netstandard平台开发的类库如果不添加此配置是会报错的。NETStandard.Library: 1.6.1包含了一系列和netstandard相关的 Nuget 程序包配置netstandard平台必须添加此配置如果没有的话.NET 基础的命名空间是访问不到的。 netcoreapp1.1.0平台 {version: 1.0.0,dependencies: {Microsoft.EntityFrameworkCore: 1.0.0},frameworks: {netcoreapp1.1.0: {dependencies: {Microsoft.NETCore.App: {type: platform,version: 1.1.0}}},imports: [dotnet5.6,portable-net45win10]}}} netstandard1.1.0平台和上面netstandard1.6平台配置差不多Microsoft.NETCore.App 和 NETStandard.Library 是一样目的dotnet5.6和dnxcore50一样都是 .NET Core 之前平台的废弃代号。 portable 的意思是便携型如果添加了此配置表示应用程序发布部署不携带依赖的程序包而是使用系统中安装配置的。 还有一点需要注意的是netcoreapp1.1.0平台和netstandard1.6平台开发是相互兼容的比如我们开发一些自己的 Nuget 程序包使用的平台版本可以是上面两个但最好是使用netstandard低一点的版本因为以后netstandard可能是微软平台的一种标准规范比如我现在开发 Nuget 程序包平台使用netcoreapp1.1.0ASP.NET Core 1.0 应用程序使用netcoreapp1.1.0平台后者就可以引用前者因为第三方 Nuget 程序包使用平台版本可能比较低所以我们开发的 ASP.NET Core 1.0 应用程序平台版本也相应低一些。 2. Startup 配置 Startup 需要添加额外的配置以便于单元测试的进行比如 EF、依赖注入和 AutoMapper 配置需要独立进行配置而不是放在 ASP.NET Core 1.0 应用程序中的 Startup 配置中。 2.1 Sample.BootStrapper.Startup 配置 比如这样的一个项目 Sample.BootStrapper project.json 配置 {version: 1.0.0-*,dependencies: {System.ComponentModel.Primitives: 4.1.0,Microsoft.NETCore.App: },frameworks: {netcoreapp1.1.0: {dependencies: {Microsoft.NETCore.App: {type: platform,version: 1.1.0}}}}} 上面代码主要是对 IServiceCollection 的 Configure 方法进行了扩展这样对 Domain、Repository 和 AppliactionService 进行独立的单元测试了只需要在构造函数中进行添加调用即可后面再说这一点。 2.2 ASP.NET Core 1.0 Startup 配置 另外ASP.NET Core 1.0 应用程序的 Startup 示例代码 public class Startup {    public Startup(IHostingEnvironment env){#if DEBUG        var path Directory.GetCurrentDirectory();#elsevar path env.ContentRootPath;#endifvar builder new ConfigurationBuilder().SetBasePath(path).AddJsonFile(appsettings.json, optional: true, reloadOnChange: true).AddJsonFile($appsettings.{env.EnvironmentName}.json, optional: true).AddEnvironmentVariables();Configuration builder.Build();Log.Logger new LoggerConfiguration().MinimumLevel.Error().WriteTo.RollingFile(Path.GetFullPath(logs/log-{Date}.txt)).CreateLogger();}    public IConfigurationRoot Configuration { get; }                // This method gets called by the runtime. Use this method to       add services to the container.public void ConfigureServices(IServiceCollection services){  // Add framework services.// 配置 WebApi 返回 Json 数据大小写问题默认数据会首字母小写。services.AddMvc().AddJsonOptions(options       options.SerializerSettings.ContractResolver new DefaultContractResolver());         // 注意这里services.Configure(Configuration[data:ConnectionString]);}      // 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.AddSerilog();loggerFactory.AddConsole(Configuration.GetSection(Logging));loggerFactory.AddDebug();app.UseStaticFiles();app.UseMvc();} } 日志服务使用的是 Serilog日志级别有多种进行选择可以 Debug、Error 等日志和连接字符串的配置可以放在 appsettings.json 文件中ConfigureServices 里面调用 Sample.BootStrapper.StartUp 的配置。 project.json 示例代码 {dependencies: {Microsoft.AspNetCore.Mvc: 1.0.1,Microsoft.AspNetCore.Routing: 1.0.1,Microsoft.AspNetCore.Server.IISIntegration: 1.0.0,Microsoft.AspNetCore.Server.Kestrel: 1.0.1,Microsoft.Extensions.Configuration.EnvironmentVariables: 1.0.0,Microsoft.Extensions.Configuration.FileExtensions: 1.0.0,Microsoft.Extensions.Configuration.Json: 1.0.0,Microsoft.Extensions.Logging: 1.1.0,Microsoft.Extensions.Logging.Console: 1.0.0,Microsoft.Extensions.Logging.Debug: 1.0.0,Microsoft.Extensions.Options.ConfigurationExtensions: 1.0.0,Microsoft.AspNetCore.Cors: 1.0.0,Serilog: 2.3.0,Serilog.Extensions.Logging:1.3.1,Serilog.Sinks.RollingFile: 3.2.0,Microsoft.AspNetCore.StaticFiles: 1.0.0,Sample.BootStrapper: 1.0.0-*,Microsoft.EntityFrameworkCore.Design: {type: build,version: 1.0.0-preview2-final}},tools: {Microsoft.EntityFrameworkCore.Tools: 1.0.0-preview2-final,Microsoft.AspNetCore.Server.IISIntegration.Tools: 1.0.0-preview2-final},frameworks: {netcoreapp1.0.1: {dependencies: {Microsoft.NETCore.App: {type: platform,version: 1.0.1}},imports: [dotnet5.6,portable-net45win10]}},buildOptions: {emitEntryPoint: true,preserveCompilationContext: true},runtimeOptions: {configProperties: {System.GC.Server: true}},publishOptions: {include: [wwwroot,**/*.cshtml,appsettings.json,web.config]},scripts: {postpublish: [ dotnet publish-iis --publish-folder %publish:OutputPath%            --framework %publish:FullTargetFramework% ]}} appsettings.json 示例代码 {data: {ConnectionString: },Logging: {IncludeScopes: false,LogLevel: {Default: Error,System: Information,Microsoft: Information}}} 另外在 Program.cs 中可以配置选择服务器比如 IIS 或 Kestrel 等。 3. UnitTest 单元测试 相关文章 Getting started with xUnit.net (.NET Core / ASP.NET Core)Integration Testing 单元测试主要包含两方面类库项目单元测试和 WebApi 项目单元测试。 3.1 类库项目单元测试 类库项目单元测试代码示例 provider.GetService 手动获取依赖注入的对象ITestOutputHelper 的目的是取代Console.WriteLine因为不支持但现在 ITestOutputHelper 好像也输出不了之前 RC2 的时候是可以的不知道啥原因。 3.1 WebApi 项目单元测试 WebApi 项目单元测试示例代码 RC2 版本是无法对 WebApi 进行单元测试的因为 TestHost 不支持现在 ASP.NET Core 1.0 版本和 ASP.NET WebApi 2 是差不多的了使用也很方便不过 HttpClient 没有了 PostAsJsonAsync 方法需要使用 JsonConvert 手动转换一下。 project.json 配置代码 {version: 1.0.0-*,testRunner: xunit,dependencies: {xunit: 2.2.0-beta4-build3444,dotnet-test-xunit: 2.2.0-preview2-build1029,Microsoft.AspNetCore.TestHost: 1.0.0,Microsoft.Extensions.DependencyInjection: 1.1.0,Sample.BootStrapper: 1.0.0-*,Sample.WebApi: 1.0.0-*},frameworks: {netcoreapp1.0.1: {dependencies: {Microsoft.NETCore.App: {type: platform,version: 1.0.1}},imports: [dotnet5.6,portable-net45win10]}}} 我之前用netstandard1.6平台但配置 xunit 的时候发现不支持最新的版本后来就该用了netcoreapp1.0.1testRunner 配置后可以在 Test Explorer 窗口中看到单元测试也可以在方法的窗口上看到主要用于调试目的。 单元测试命令dotnet test 4. Microsoft.EntityFrameworkCore 相关资料Entity Framework Core 4.1 基本配置 Microsoft.EntityFrameworkCore 和 EntityFramework 7 的用法差不多现在项目使用的 MySql 数据库示例配置代码 4.2 ModelBuilderExtenions 扩展 AddEntityConfigurationsFromAssembly 是对 ModelBuilder 的扩展这样如果有多个实体映射配置OnModelCreating 中只需要一行代码就可以了扩展代码 project.json 示例代码 {version: 1.0.0-*,dependencies: {MySql.Data.EntityFrameworkCore: 7.0.6-IR31,MySql.Data: 7.0.6-IR31,System.Reflection.TypeExtensions: 4.3.0,Microsoft.Extensions.DependencyInjection: 1.1.0},frameworks: {netcoreapp1.0.1: {dependencies: {Microsoft.NETCore.App: {type: platform,version: 1.0.1}}}}} EntityFrameworkCore 针对 MySql 微软没有开放相应的 Nuget 程序包第三方有很多的程序包但或多或少的有些问题MySql.Data.EntityFrameworkCore 是 EntityFrameworkCore GitHub Issue 中出现最多的并且是 MySql 自己开发的所以使用的话没什么问题。 如果在查询的时候报这个错误 System.MissingMethodException was unhandled HResult-2146233069 MessageMethod not found: Void Microsoft.EntityFrameworkCore.Query.QueryContextFactory..ctor(Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager, Microsoft.EntityFrameworkCore.Internal.IConcurrencyDetector, Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IChangeDetector). SourceMicrosoft.EntityFrameworkCore.Relational StackTrace: at Microsoft.EntityFrameworkCore.Query.Internal.RelationalQueryContextFactory..ctor(IStateManager stateManager, IConcurrencyDetector concurrencyDetector, IRelationalConnection connection, IChangeDetector changeDetector) --- End of stack trace from previous location where exception was thrown --- 解决方式是引用 MySql.Data.EntityFrameworkCore 程序包的类库移除 Microsoft.EntityFrameworkCore 程序包参考资料MissingMethodException DbSet.ToList 4.3 记录执行 SQL 另外关于 EntityFrameworkCore 如何记录执行 SQLGoogle 找了好久也没找到好的解决方案最后找到了一个别人写的 IQueryable 扩展方法 调用示例 var query _productRepository.Get(1);var sql query.ToSql(); Console.WriteLine(sql); 不过暂时只能输出单表查询的多表关联查询的执行 SQL 输出不了。 4.4 EntityFrameworkCore 迁移 相关文章 EntityFramework 7 Migrations 迁移命令EntityFrameworkCore Migrations 相对于 EntityFramework 7EntityFrameworkCore 迁移改变很多 首先ASP.NET Core 1.0 project.json 中添加如下配置 {dependencies: {Microsoft.EntityFrameworkCore.Design: {type: build,version: 1.0.0-preview2-final}},tools: {Microsoft.EntityFrameworkCore.Tools: 1.0.0-preview2-final},frameworks: {netcoreapp1.0.1: { }}} Sample.BootStrapper.Startup 中 Configure 修改如下 public static void Configure(this IServiceCollection services, string connectionString) {services.AddDbContextCommodityDbContext(options options.UseMySQL(connectionString, b b.MigrationsAssembly(Sample.WebApi))          //添加 MigrationsAssembly);    ///to do... 然后 CMD 直接切换到 Sample.WebApi 文件目录下执行如下命令 dotnet ef migrations add 名称dotnet ef database update 5. CLI 命令 相关资料.NET Core 命令行接口工具 dotnet 具有以下命令 dotnet new初始化 C# 或 F # 控制台应用程序项目。dotnet restore还原给定应用程序的依赖项。dotnet build生成 .NET Core 应用程序。dotnet publish发布 .NET 可移植或独立应用程序。dotnet run从源运行应用程序。dotnet test使用 project.json 中指定的测试运行程序运行测试。dotnet pack创建代码的 NuGet 包。 CLI 还支持持续集成不过没试过我第一次用 dotnet pack结合 Nuget Package Explorer 可以很方便的发布管理程序包。 原文地址http://www.cnblogs.com/liubingbing/p/6343701.html.NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注
http://www.pierceye.com/news/504539/

相关文章:

  • 网站域名有了_网站如何建设优书网首页
  • 宠物网站建设策划报告Wordpress is文章展示
  • 电子建设网站的目的阿里巴巴网站是用什么技术做的
  • 图形设计网站wordpress微信群多个二维码
  • 网站建设维护是干什么网站用户需求报告
  • 咸宁网站建设公司水网站模板
  • 移动网站开发教材seo网站排名优化价格
  • 重生做网站小说畅想网络网站建设推广
  • 找个做网站的 优帮云wordpress 判断自定义栏目
  • wordpress文章目录分页wordpress加速优化服务
  • 二级目录网站怎么做小程序开发成都公司
  • 网站标题名字和备案名字网站开发 质量管理
  • 网站与系统开发吉安网站建设收费
  • 湖北襄阳网站建设wordpress电商ar
  • 微做网站环保行业网站建设
  • 昭通做网站公司北京手机网站制作多少钱
  • 昆明企业建网站多少钱如何弄微信小程序
  • wordpress清理网站缓存做的比较简约的网站
  • 青岛高端网站制作中铁建设集团门户密码
  • 公司专业做网站做网站域名起什么作用
  • 推广型网站建设机构如何创建wordpress
  • 做网站交互demo工具在线设计自己的签名免费
  • 做百度推广会送网站吗网站建设和邮箱的关联
  • 假网站如何做济南天桥区网站建设
  • 顺企网我做网站余姚网站建设在哪里
  • 做网站logo用啥软件做电子书网站
  • 企业网站推广的策略有哪些php怎么建立站点
  • 找网站设计公司 看那些wordpress居中
  • 无锡网站营销公司哪家好全屏网页设计尺寸
  • 做第一个网站什么类型网站搜索引擎优化案例