Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了

Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了html

Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架前端

Asp.Net Core 2.0 项目实战(3)NCMVC角色权限管理前端UI预览及下载linux

Asp.Net Core 2.0 项目实战(4)ADO.NET操做数据库封装、 EF Core操做及实例nginx

Asp.Net Core 2.0 项目实战(5)Memcached踩坑,基于EnyimMemcachedCore整理MemcachedHelper帮助类。git

Asp.Net Core 2.0 项目实战(6)Redis配置、封装帮助类RedisHelper及使用实例github

Asp.Net Core 2.0 项目实战(7)MD5加密、AES&DES对称加解密数据库

Asp.Net Core 2.0 项目实战(8)Core下缓存操做、序列化操做、JSON操做等Helper集合类json

Asp.Net Core 2.0 项目实战(9) 日志记录,基于Nlog或Microsoft.Extensions.Logging的实现及调用实例windows

Asp.Net Core 2.0 项目实战(10) 基于cookie登陆受权认证并实现前台会员、后台管理员同时登陆后端

Asp.Net Core 2.0 项目实战(11) 基于OnActionExecuting全局过滤器,页面操做权限过滤控制到按钮级

本文目录
1. 摘要
2. Window下运行
3.linux下运行
4. 开发记录
5. 总结

1.概要

  写《Asp.Net Core 2.0 项目实战》系列断断续续已经很长时间了,期间不少朋友要求开放源码,可是项目代码一直有不少问题,就算勉强开源出来你们看起来也比较费劲,运行起来也看不到实际的效果。在公司平时真的是太忙了,不多有时间去系统的整理一个框架,只能以学习这种形式边学边作。承诺你们开源出来此项目我作到了,虽然项目依然有不少问题,我接下来会再完善。功能暂时不会再增长了,暂时先作到权限管理,以及支撑后端框架运行的相关功能。

 

 

2.Window下运行

  项目:Vs2017+MSSQL2017

  下载项目后首先须要调整数据库链接地址,缓存地址;以及appsettings.json 配置里须要调整的项。主要项目或文件夹下放的都有readme.txt文件,注意关注里面的提示。

 

 

  调整完成后Visual Studio2017直接运行就能够浏览项目,打开项目地址输入http://localhost:xx/ad_min进入后台查看功能。

  用户名:admin密码:admin888

  Iis上运行须要发布,发布配置选择默认,linux发布须要选择linux x64。

 

 

3.linux下运行

  在linux下我本地如今只安装了centos7虚拟机,测试能够打开,但有部分功能牵扯到路径问题暂时还未处理,后台会调整再发布一个版本。

 

 

  安装centos网上有不少教程,部署到centos上后,虚拟机里直接http://localhost:5000打开就能够了,注意运行的时候linux下区分大小写(必须),外部访问需用到nginx参考https://www.cnblogs.com/hager/p/5689493.html

   

 

 

4.开发记录

  碰见netcore2.0问题,优先看官网上的案例。

##--发布--

    1.dotnet publish或右键发布

    2.window系统上部署iis7+或运行dotnet nc.mvc.dll

    3.centos下运行测试(dll文件名大小写不能写错)dotnet NC.MVC.dll

##--日志记录--

1.微软已经内置了日志支持,日志级别:Trace -》Debug-》 Information -》Warning-》 Error-》 Critical;案例参考HomeController

    引用Microsoft.Extensions.Logging

    使用dotnet run运行项目,能够看到输出效果

2.使用NLog,NLog也是扩展的Microsoft.Extensions.Logging,添加NuGet包Microsoft.NETCore.App而后引用

    using NLog.Extensions.Logging;

    using NLog.Web;

    配置NLog.config文件,设置日志等级参数以及日志路径等

    默认日志写入到项目根目录xxx\bin\Debug\netcoreapp2.0\

3.集成一个本身写的Logger

    appsettings.json配置是否记录日志,以及记录位置设置。

    参考NC.Core>MSSQL>DbCommand.cs

##--linux下大小写敏感--

    如NLog组件,Startup.cs写小写,那么对应的nlog.config必定要所有小写。

##--centos--

    1.centos联网必须开启服务VMware NAT Service和VMware DHCP Service(VMnetDHCP)

    2.centos部署的站点必须经过nginx代理,这样才能够访问到虚拟机运行的netcore程序

    3.https://www.cnblogs.com/hager/p/5689493.html

##--Directory.GetCurrentDirectory()坑点--

    windows 下是 "\", Mac OS and Linux 下是 "/",这个待验证。若是成立可解决linux下建立文件夹问题

    ??linux下建立文件夹问题待解决

    Directory.GetCurrentDirectory();此方法不是真正的获取应用程序的当前方法,而是执行dotnet命令所在目录;如dotnet publishoutput/nc.mvc.dll,日志记录的位置就会跟着改变。

    //获取应用程序的当前目录:

    dynamic type = (new Program()).GetType();

    string currentDirectory = Path.GetDirectoryName(type.Assembly.Location);

    Console.WriteLine(currentDirectory);

#

经过控制器右键添加视图,转到视图页等特性都没有了,包括添加区域,自动进行区域配置也都没法使用,致使咱们必须本身手动建立区域以及配置

##--2018-03-21##

1.Session封装

2.cookie读取封装

##--2018-06-21--##

1.ef core操做数据库时,参数要一致,如:long不能传int,不识别。

##--2018-06-22--##

1.Request.Form必须确保必须传递参数才能使用,不然报错System.InvalidOperationException;只有post下且有参数才能够用写Request.Form,不然报异常。

5.总结

  实战项目暂时告一段落了,里面的bug以及在linux跨平台运行问题我会抽时间再完善,小的更新我会直接在群里发布,若是有问题也能够在群里(444036561)提出,人多力量大,相同问题到时候我会在博文后面再整理出来解答。若是关注的人多了后续我会基于这个后台再整合一个内容管理系统(CMS)出来,仍是要看项目的发展,以及本身的时间分配。文章写做顺序为乱序,看源码的时候碰到问题能够先在博文中查找。写在最后:原创不易,欢迎打赏/分享/推荐!

GIT地址:http://www.github.com/oorz/ncmvc

相关文章
相关标签/搜索