net core体系-web应用程序-4asp.net core2.0 项目实战(1)-2项目说明和源码下载
本文目录
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
net core体系-web应用程序-4asp.net core2.0 项目实战(1)-2项目说明和源码下载的更多相关文章
- net core体系-web应用程序-4asp.net core2.0 项目实战(1)-1目录
Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Ne ...
- net core体系-web应用程序-4asp.net core2.0 项目实战(1)-11项目日志解决方案
本文目录1. Net下日志记录2. NLog的使用 2.1 添加nuget引用NLog.Web.AspNetCore 2.2 配置文件设置 2.3 依赖配置及调用 2.4 日志 ...
- net core体系-web应用程序-4asp.net core2.0 项目实战(1)-13基于OnActionExecuting全局过滤器,页面操作权限过滤控制到按钮级
1.权限管理 权限管理的基本定义:百度百科. 基于<Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员.后台管理员同时登录>我们做过了登录认证, ...
- net core体系-web应用程序-4asp.net core2.0 项目实战(1)-10项目各种全局帮助类
本文目录 1. 前沿2.CacheHelper基于Microsoft.Extensions.Caching.Memory封装3.XmlHelper快速操作xml文档4.SerializationHe ...
- net core体系-web应用程序-4asp.net core2.0 项目实战(1)-9项目各种全局帮助类
本文目录 1. 前沿2.CacheHelper基于Microsoft.Extensions.Caching.Memory封装3.XmlHelper快速操作xml文档4.SerializationHe ...
- net core体系-web应用程序-4asp.net core2.0 项目实战(1)-7项目缓冲方案( Redis)
本文目录1. 摘要2. Redis配置3. RedisHelper4.使用实例 5. 总结 1. 摘要 由于內存存取速度远高于磁盘读取的特性,为了程序效率提高性能,通常会把常用的不常变动的数据存储在 ...
- net core体系-web应用程序-4asp.net core2.0 项目实战(1)-3项目架构说明
本文目录1. 摘要2. 框架介绍 3. 权限管理之多一点说明4. 总结 1. 摘要 NCMVC角色权限管理框架是由最近练习Net Core时抽时间整理的系统,后续能不能发展成一个cms还要看朋友们是 ...
- net core体系-web应用程序-4asp.net core2.0 项目实战(1)-8项目加密解密方案
本文目录1. 摘要2. MD5加密封装3. AES的加密.解密4. DES加密/解密5. 总结 1. 摘要 C#中常用的一些加密和解密方案,如:md5加密.RSA加密与解密和DES加密等,Asp.N ...
- net core体系-web应用程序-4asp.net core2.0 项目实战(任务管理系统)-2项目搭建
系统要求 首先建议采用 Windows 10 专业版/企业版/教育版,且必须是64位操作系统,原因是docker装起来比较方便,Win7装起来比较麻烦,且不确定是否有其他问题(自己没有实践过) 其次W ...
随机推荐
- Openssl源代码整理学习
一.基础知识 1.Openssl 简史 OpenSSL项目是加拿大人Eric A.Yang 和Tim J.Hudson开发,现在有Openssl项目小组负责改进和维护:他们是全球一些技术精湛的志愿技术 ...
- 修改.bashrc文件PATH变量错误导致系统大部分命令失效
修改.bashrc环境变量,在文件最后添加openssl变量, 本来应该写 export PATH=$PATH:/usr/local/openssl/bin 误写成 export PATH=/usr/ ...
- HDU 5446
题意: 大组合数取余 (素数连乘) 思路: 对于答案 X X % pi = ai === C(m,n) % pi: 然后就是用孙子定理求出X, ai 用 卢卡斯定理求得 中间 LL * LL 会爆, ...
- UVA 11796
题意: 有两个狗, 按照 多边形跑,不知道两条狗的速度,但是狗是同时出发,同时到达终点的 输出两条狗的 最大相距距离 - 最小相距距离: 思路 : 用物理的相对运动来计算, 每次只计算 两条狗的直线 ...
- Eleaticsearch源码分析(一)编译启动
转自:https://lunatictwo.github.io/2017/12/21/Eleaticsearch%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90(%E4%B8% ...
- Arrays.asList()vs Collections.singletonList()
Collections.singletonList(something)是不可变的, 对Collections.singletonList(something)返回的列表所做的任何更改将导致Unsup ...
- atop工具检测linux硬件异常
引言 Linux以其稳定性,越来越多地被用作服务器的操作系统(当然,有人会较真地说一句:Linux只是操作系统内核:).但使用了Linux作为底层的操作系统,是否我们就能保证我们的服务做到7*24地稳 ...
- 修复ogg source端意外宕机造成的数据不同步
修复ogg source端意外宕机造成的数据不同步 分类: Oracle2016-04-28 11:50:40原文地址:修复ogg source端意外宕机造成的数据不同步 作者:十字螺丝钉 ogg s ...
- ECS分区挂载数据盘
地址:https://help.aliyun.com/document_detail/25426.html?spm=5176.11065259.1996646101.searchclickresult ...
- swift 学习- 10 -- 类和结构体
// '类和结构体' 是人们构建代码所使用的一种通用且灵活的构造体, 我们可以使用完全相同的语法规则来为 '类和结构体' 定义属性 (变量 和 常量) 和添加方法, 从而扩展 类和结构体 的功能 // ...