从零开始搭建自己的网站三:.NET6后端框架搭建和私人Nuget服务搭建

因为既然采用前后端分离的方式,就不想把所有功能都写在一个项目里面,对电脑性能的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管理器,选择包源,发现刚刚发布的包,成功

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来给你提供一个详细的ASP.NET Core中使用WebSocket的案例。 **1. 创建 ASP.NET Core 项目** 首先需要创建一个ASP.NET Core 项目,可以选择空项目或Web应用程序模板。 **2. 添加 WebSocket 支持** 在ASP.NET Core中,使用WebSocket需要添加Microsoft.AspNetCore.WebSockets包。可以通过NuGet包管理器或手动添加对项目的引用来添加此包。 **3. 添加 WebSocket 控制器** 在 ASP.NET Core 中,WebSocket 控制器是处理 WebSocket 请求的类。可以创建一个控制器类并继承自 Microsoft.AspNetCore.Mvc.Controller 类,然后添加 WebSocket 相关的方法。 ```csharp using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Http; using System.Net.WebSockets; using System.Threading.Tasks; namespace WebSocketExample.Controllers { [Route("api/[controller]")] public class WebSocketController : Controller { [HttpGet("{id}")] public async Task Get(string id) { if (HttpContext.WebSockets.IsWebSocketRequest) { WebSocket webSocket = await HttpContext.WebSockets.AcceptWebSocketAsync(); await Echo(webSocket); } else { HttpContext.Response.StatusCode = 400; } } private async Task Echo(WebSocket webSocket) { var buffer = new byte[1024 * 4]; WebSocketReceiveResult result = await webSocket.ReceiveAsync(new ArraySegment<byte>(buffer), System.Threading.CancellationToken.None); while (!result.CloseStatus.HasValue) { await webSocket.SendAsync(new ArraySegment<byte>(buffer, 0, result.Count), result.MessageType, result.EndOfMessage, System.Threading.CancellationToken.None); result = await webSocket.ReceiveAsync(new ArraySegment<byte>(buffer), System.Threading.CancellationToken.None); } await webSocket.CloseAsync(result.CloseStatus.Value, result.CloseStatusDescription, System.Threading.CancellationToken.None); } } } ``` 在上面的代码中,我们创建了一个名为 WebSocketController 的控制器,并添加了一个 Get 方法来处理 WebSocket 请求。 在 Get 方法中,我们首先检查当前请求是否是 WebSocket 请求,如果是,则接受 WebSocket 连接,并调用 Echo 方法来处理 WebSocket 消息。如果不是,则返回状态码 400。 在 Echo 方法中,我们接收 WebSocket 传来的消息,然后立即将其回发给客户端。该方法会一直循环,直到收到一个 CloseStatus 告知连接需要关闭,然后关闭连接。 **4. 配置应用程序启动** 现在我们需要配置应用程序以启用 WebSocket 支持。在 Startup.cs 文件中,添加以下代码来启用 WebSocket 支持: ```csharp public void Configure(IApplicationBuilder app, IHostingEnvironment env) { app.UseWebSockets(); app.UseMvc(); } ``` **5. 测试 WebSocket** 现在,我们可以使用任何 WebSocket 客户端来测试上面的代码。例如,我们可以使用 JavaScript 来创建一个 WebSocket 客户端。 ```javascript var socket = new WebSocket("ws://localhost:5000/api/websocket/1"); socket.onmessage = function (evt) { console.log(evt.data); }; socket.onopen = function (evt) { console.log("WebSocket opened."); socket.send("Hello from client."); }; ``` 在上面的 JavaScript 代码中,我们创建了一个 WebSocket 连接,并在连接打开时发送一条消息。当收到消息时,我们将其输出到控制台。 **6. 运行应用程序** 现在我们可以运行应用程序,并使用 WebSocket 客户端连接到我们的 WebSocket 服务。运行应用程序后,控制台应该显示类似以下内容: ``` WebSocket opened. Hello from client. ``` 接着,WebSocket 服务将回发相同的消息,并在控制台输出以下内容: ``` Hello from client. ``` 这就是使用ASP.NET Core创建WebSocket服务的详细步骤和示例代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值