zoukankan      html  css  js  c++  java
  • 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文件,设置日志等级参数以及日志路径等

        默认日志写入到项目根目录xxxinDebug etcoreapp2.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

    IT黑马
  • 相关阅读:
    D1
    测试 Collectors 类中相关 API,以及 Collector 接口中 Characteristics 的枚举值
    Servlet 整合 freemarker、如何在 freemarker 中自定义标签
    webLogic javaweb 路径问题 Not allowed to load local resource
    高复用、高兼容的 ajaxForm 上传文件
    Extjs 4+ 中的 combobox 的级联
    Echarts中关于雷达图极坐标值相差过大时的图像展示问题
    java 使用poi操作Excel(2003,2007)实现数据批量导入的一般思路
    java 使用poi操作Excel表格(2003,2007)实现数据的批量导出
    Ext3.4 表格基本操作
  • 原文地址:https://www.cnblogs.com/hmit/p/10768093.html
Copyright © 2011-2022 走看看