从零开始的管理系统(自用)之三:.NET6后端框架搭建和私人Nuget服务搭建

2023-11-08

因为既然采用前后端分离的方式,就不想把所有功能都写在一个项目里面,对电脑性能的debug都是一种负担,于是采用微服务思想,将后端API按照业务拆分

因为肯定不能的服务会用到相同的代码块,因此搭建私人Nuget包用来封装相同的代码块

1.vs创建一个API项目,用来做账户服务包括登录注册等等

Api层: 提供Api接口

Core层:提供业务逻辑

Data:定义Entity和Dto

Service:数据仓储与数据库交互 

2.NuGet服务搭建

创建一个.net framework4.6的空web项目,在Nuget管理选择加入Nuget.server的包

 加入之后项目会多出来许多文件,打开web.config,将  <system.web>下重复的注释掉,我是直接删除

 接下来,项目右键发布到文件夹,将文件夹vs的文件全部Copy到服务器(桌面远程连接直接直接复制到云服务器)

接下来打开IIS

 右键点击网站添加网站,网站名称:就是创建后IIS上显示的名称,物理路径就是刚刚Copy到服务器上的路径(到bin目录即可),端口号:最好10000之后,免得和系统服务冲突,我是10001

接下来和上一章一样,开放防火墙端口,云服务器入站规则端口,开放的端口需要和配置端口号的一样

接下来本机在浏览器上输入弹性ip+端口号(eg:127.0.0.1:11111),讲道理现在会报错

3.报错: 配置错误 不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault=”Deny”),或者是通过包含 overrideMode=”Deny” 或旧有的...

解决方案

服务器打开命令提示行:

执行: C:\windows\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers 

再执行:C:\windows\system32\inetsrv\appcmd unlock config -section:system.webServer/modules

然后还会报错: 处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误模。。。。

因为IIS .net Extensibility4.5没安装 ,解决方案

打开控制面板,程序和功能,启动或关闭windows功能

点下一步到服务器角色,一次展开到应用程序开发,勾上.NET Extensibility 4.5,下一步直到安装

 完成后再次打开刚刚的ip地址,看到这个页面,安装成功 

 

 4.封装数据仓储, 本来想用dapper,结果后面发现sqlsuger比dapper好用

sqlsugger国产,使用方法看官网,文档齐全,还是中文,文档中还包括了存储模式的构建

创建一个.net6 的类库,按官方文档依葫芦画瓢构建完成后,右键项目属性,可以在包选项设置标题和版本

 设置完成后,右键项目打包得到nupkg后缀的包文件(路径在Debug或者release文件夹,看打包的时候选择的是啥)

将此文件copy到服务器Nuget项目的Packages下,不同版本需要改项目版本配置,这样copy进去就会分为两个版本

 

 测试

 打开程序包管理器设置

 名称输入想要的名称,包源写入Nuget的IP+端口

 配置完成后,打开Nuget管理器,选择包源,发现刚刚发布的包,成功

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从零开始的管理系统(自用)之三:.NET6后端框架搭建和私人Nuget服务搭建 的相关文章

  • Visual Studio 扩展找不到所需的程序集

    我为 Visual Studio 2013 编写了一个扩展 因为该死的组合框错误 https stackoverflow com questions 7800032 cancel combobox selection in wpf with
  • 检查对象是否更改的最佳实践是什么?

    我需要知道如何检查对象是否发生更改 基本上我需要一个名为 TrackChanges 的属性 当我将其设置为 true 一次并且如果该对象中的任何数据被 更改 时 同一对象上的方法 IsObjectChanged 可以返回 true 您是否曾
  • NUnit 与 xUnit

    两者有什么区别NUnit http www nunit org and xUnit net https xunit net 开发其中两个而不是仅一个有什么意义 我读到 xUnit 是由 NUnit 的发明者开发的 xUnit net 是 N
  • 如何通过 COM 将长数组从 VB6 传递到 C#

    我需要将 int 或 long 数组 无关紧要 从 VB6 应用程序传递到 C COM Visible 类 我尝试在 C 中声明接口 如下所示 void Subscribe MarshalAs UnmanagedType SafeArray
  • 连接到 Facebook 并使用 api

    有没有好的教程如何制作简单的控制台 Facebook 应用程序 连接到 Facebook 并获取朋友列表 用户照片 状态或其他内容 我查看了 facebook SDK 的 facebook 示例 但如果我想在 facebook 上授权 我必
  • 如何使用 PetaPoco 库自动从数据库创建模型?

    我的数据库中有一个表 我想为其创建一个带有 getter 和 setter 的模型类 对于我项目中的大部分任务 我使用 PetaPoco 我手动创建了模型 但很少有表有很多列 有没有办法使用 PetaPoco 从数据库创建模型 我强烈建议您
  • 计算从给定日期开始的月份中的第几天?

    我正在努力寻找一种简单有效的解决方案来计算每月的工作日 例如 如果给定日期是第一个星期一Monday 5th March 2018然后我想获取接下来 6 个月每个月第一个星期一的日期 例如 Monday 2nd April 2018 and
  • 为什么 ᏌᏊ ᎢᏳᎾᎵᏍᏔᏅ ᏍᎦᏚᎩ 是美国的本土名称?

    当我使用这段代码时 var ri new RegionInfo us var nativeName ri NativeName why is nativeName然后是字符串 in Cherokee https en wikipedia o
  • 数组与列表的性能

    假设您需要一个需要频繁迭代的整数列表 数组 我的意思是非常频繁 原因可能有所不同 但可以说它位于大容量处理的最内层循环的核心 一般来说 人们会选择使用列表 List 因为它们的大小具有灵活性 最重要的是 msdn 文档声称列表在内部使用数组
  • 抽象类或接口。哪种方式是正确的?

    有两种方法可以选择抽象类或接口 微软解决方案和Oracle解决方案 微软 设计指南 请使用抽象 在 Visual Basic 中为 MustInherit 类而不是接口来将协定与实现分离 http msdn microsoft com en
  • 将文本从文本文件添加到 PDF 文件[重复]

    这个问题在这里已经有答案了 这是我的代码 using FileStream msReport new FileStream pdfPath FileMode Create step 1 using Document pdfDoc new D
  • 元素属性语法和属性属性语法之间有语义差异吗?

    我认为元素属性语法和属性属性语法在语义上没有太大区别 但是 我发现一定有什么不同 例如 下面的例子只是演示了一个简单的触发器
  • 文件显示在 Visual Studio 的解决方案资源管理器中,并带有快捷方式图标。这意味着什么?

    我已经下载了FParsec的库源代码 所有文件都带有快捷方式符号 这是什么意思 当该项目添加到该项目时 它被添加为链接Project gt Add Existing Item gt Add as Link 该文件很可能托管在目录结构中的另一
  • 将标签文本的一部分设置为粗体

    有什么办法可以使一部分label text要大胆吗 label text asd string 想要string部分要加粗 有可能吗 这怎么办 下面的类说明了如何通过覆盖来做到这一点OnPaint in the LabelWinForms
  • 当用户打开文件时如何锁定对文件的访问?

    我正在编写一个 C NET 程序 该程序使用 XmlSerializer 对当前用户正在处理的项目与 XML 文件进行序列化和反序列化 这工作正常 但我试图找到一种方法来防止两个用户从网络驱动器打开同一个文件并让一个用户覆盖前一个用户的保存
  • 为使用 SSH.NET SshClient.CreateShellStream 执行的命令 (sudo/su) 提供子命令

    我正在尝试使用 Renci SSH NET 从 C Web 应用程序连接到远程 Linux 服务器并执行 shell 脚本 我想一个接一个地运行脚本 但不知道如何运行脚本并读取输出并将其存储在标签中 我已经尝试了下面的代码 但无法一行接一行
  • 如何在 32 位或 64 位配置中以编程方式运行任何 CPU .NET 可执行文件?

    我有一个可在 32 位和 64 位处理器上运行的 C 应用程序 我试图枚举给定系统上所有进程的模块 当尝试从 64 位应用程序枚举 32 位进程模块时 这会出现问题 Windows 或 NET 禁止它 我认为如果我可以从应用程序内部重新启动
  • C# 中的合并运算符?

    我想我记得看到过类似的东西 三元运算符 http msdn microsoft com en us library ty67wk28 28VS 80 29 aspx在 C 中 它只有两部分 如果变量值不为空 则返回变量值 如果为空 则返回默
  • 调用堆栈中的“外部代码”是什么意思?

    我在 Visual Studio 中调用一个方法 并尝试通过检查调用堆栈来调试它 其中一些行标记为 外部代码 这到底是什么意思 方法来自 dll已被处决 外部代码 意味着该dll没有可用的调试信息 你能做的就是在Call Stack窗口中单
  • 当从finally中抛出异常时,Catch块不会被评估

    出现这个问题的原因是之前在 NET 4 0 中运行的代码在 NET 4 5 中因未处理的异常而失败 部分原因是 try finallys 如果您想了解详细信息 请阅读更多内容微软连接 https connect microsoft com

随机推荐

  • 浅谈3NF(范式)建模

    范式 一张数据表的表结构所符合的某种设计标准的级别 构造数据库必须遵循一定的规则 在关系型数据库中 这种规则就是范式 范式是符合某一种级别的关系模式的集合 目前关系数据库有六种范式 第一范式 1NF 第二范式 2NF 第三范式 3NF 第四
  • Pycharm及python安装详细教程(图解)

    更多编程教程请到 菜鸟教程 https www piaodoo com 友情链接 好看站 http www nrso net 首先我们来安装python 1 首先进入网站下载 点击打开链接 或自己输入网址https www python o
  • java类是公共的应当声明,java 类是公共的,应在名为.java 的文件中声明

    java 类是公共的 应在名为 java 的文件中声明 关注 162 答案 2 mip版 解决时间 2021 01 16 12 24 提问者关系已逝 2021 01 15 16 19 import javax swing JOptionPa
  • ajax中中loaddate,jQuery中ajax的load()与post()方法实例详解

    本文实例讲述了jQuery中ajax的load 与post 方法 分享给大家供大家参考 具体如下 一 load 方法 在jQuery ajax的load 方法能够载入远程 HTML 文件代码并插入至 DOM 中 这个与post get还是有
  • 数据结构与算法(九)-- 队列

    队列 队列的定义 它只允许在表的前端 front 进行删除操作 而在表的后端 rear 进行插入操作 进行插入操作的端称为队尾 进行删除操作的端称为队头 顺序队 采用顺序存储结构的队列 存储空间连续 front指向对头元素 rear 指向队
  • 利用Dom4j创建xml文档

    DocumentHelper是使用Dom4j的辅助类的集合 利用它我们可以创建xml文档 接下来我们就使用它来创建一个简单的xml文档 创建文档 第一种方式 Document document DocumentHelper createDo
  • 20200317_决策树预测贷款申请

    使用决策树 预测贷款申请 import pandas as pd 忽略弹出的warnings import warnings warnings filterwarnings ignore text pd read excel data Lo
  • 前导0 的数字

    代码和任务 copyright c 2015 csdn学院 All right reserved 文件名称 main c 作者 张如田 完成日期 版本号 任务描述 输入小时和分 以hh mm形式输出 其中小时和分钟不足两位数时 用零前导 例
  • 手动下载Python第三方库whl文件并进行安装

    手动下载Python第三方库whl文件并进行安装 在Python开发中 我们经常需要使用第三方库来辅助我们完成各种任务 而通常在安装这些库时 我们会使用pip命令进行安装 但有时候因为网络环境等原因 pip无法正常工作 导致我们无法安装所需
  • Ubuntu上交叉编译opencv及opencv_contrib并移植到ARM板之一

    完整人脸识别系统 源码 教程 环境 开源毕业设计 基于嵌入式ARM Linux的应用OpenCV和QT实现的人脸识别系统 源码 论文 完全毕设教程 Linux上Opencv与Qt实现的人脸识别的考勤点名 门禁系统 PC与嵌入式ARM版本 零
  • I2C通信基本原理及其实现

    I2C是一种总线式结构 它只需要SCL时钟信号线与SDA数据线 两根线就能将连接与总线上的设备实现数据通信 由于它的简便的构造设计 于是成为一种较为常用的通信方式 由于I2C采用的是主从式通信方式 所以 通信的过程完全由主设备仲裁 在通信之
  • 蓝桥杯2019年第十届省赛真题-扫地机器人

    题目 题目链接 题解 二分 贪心 二分模板 看到这道题第一时间想到的就是二分和动规 仔细一看二分有戏 能check出来 所以决定用二分好好想想 主要是因为我动规太菜了 怕了 二分时间 准确的说我们二分的不是时间 而是覆盖范围 也就是枚举每个
  • 《Python编程:从入门到实践》学习笔记——第11章 测试代码

    文章目录 前言 1 测试函数 1 1 单元测试和测试用例 1 2 可通过的测试 1 3 不能通过的测试 1 4 测试未通过时怎么办 1 5 添加新测试 2 测试类 2 1 各种断言方法 2 2 一个要测试的类 2 3 测试 Anonymou
  • 【机器学习】随机森林预测并可视化特征重要性

    今天需要用到特征重要性的分析 所以干脆就写一下使用随机森林是如何做建模并基于随机森林做特征重要性的分析 顺带给出了编码方式 随机森林 特征重要性可视化的完整Python代码 都是可以直接运行的 目 录 1 分类型特征编码 1 1 Label
  • cmd 命令行显示中文乱码

    cmd命令行显示中文乱码多数是由于字符编码不匹配导致 1 查看cmd编码方式 方法一 打开cmd 输入chcp命令回车 显示默认编码 活动代码页 936指GBK 方法二 打开cmd在标题栏单击鼠标右键选择 属性 在属性选项中可看到当前编码方
  • JAVA的OPENGL,JOGL入门实例----不断变色的点阵 (源代码)

    原文 http blog csdn net sidihuo article details 44035015 第一个类 代码解读 java view plain copy package test1 opengl import java a
  • AirtestIDE学习笔记---安装(windows系统)

    这篇写的更详细点 https blog csdn net u013405658 article details 99443091 Airtest之前有听到过这样的工具 一直没有小试牛刀 直到上周参加了TesterHome社区组织的测试开发者
  • gTest 学习

    gTest 目录 在Clion上安装 断言 判断bool 数值判断 字符串判断 显示返回成功或失败 异常检查 输出更详细信息 自定义输出 浮点数相等 相近判断 事件 全局事件 TestSuite事件 TestCase事件 参数化 在Clio
  • 【mcuclub】STC89C52单片机最小系统讲解

    1 实物图 2 原理图 3 介绍 3 1 主芯片 STC89C52是STC公司生产的一种低功耗 高性能8位微控制器 器件参数 1 增强型8051单片机 指令代码完全兼容传统8051 2 工作电压 5 5V 3 3V 3 工作频率范围 0 4
  • 从零开始的管理系统(自用)之三:.NET6后端框架搭建和私人Nuget服务搭建

    因为既然采用前后端分离的方式 就不想把所有功能都写在一个项目里面 对电脑性能的debug都是一种负担 于是采用微服务思想 将后端API按照业务拆分 因为肯定不能的服务会用到相同的代码块 因此搭建私人Nuget包用来封装相同的代码块 1 vs