推荐文章

ASP.NET Core中使用百度在线编辑器UEditor

ASP.NET Core中使用百度在线编辑器UEditor

ASP.NET Core中使用百度在线编辑器UEditor
.net core添加Area区域

.net core添加Area区域

Asp. Ce使用Area区域,可以有效的对业务进行隔离,各种业务及分工可以更灵活。在Asp. Ce中启用区域也是极简单的,比如:一个网站有前端、用户后台、管理,我们使用Area就能清晰划分每个功能板块前端:使用用默认的路由用户:使用“Users”路由管理:使用“Admin”路由1、在“Startup.cs”,添加Area路由public void Configure(IApplicationBu
ASP.NET CORE对url参数的编码

ASP.NET CORE对url参数的编码

用URL传参数的时候,用&符号连接,如果某一个参数中含"#$ ^ & + ="这些符号的时候,在另一个页面就会取不到传过来的参数。解决办法:ASP. CE:编码var url="http:www.baidu.com&text=" + Uri.EscapeDataString("(&^%$#@!!")输出:http:www.baidu.com&text=%28%2A%26%5E%25%24%23
ASP.NET Core 2.0使用NLog日志配置

ASP.NET Core 2.0使用NLog日志配置

一、新建ASP. Ce 2.0 MVC项目,使用NuGet在浏览中搜索:NLog.Web.AspCe,如下图所示:二、在项目下新建一个xml类型的nlog.config文件《?xml version="1.0" encoding="utf8"?》《nlog xmlns="http:www.nlogproject.gschemasNLog.xsd" xmlns:xsi="http:www.
asp.net core使用IHttpContextAccessor获取来源页

asp.net core使用IHttpContextAccessor获取来源页

1、在Startup文件注入IHttpContextAccesspublic void ConfigureServices(IServiceCollection services) { ... 注入HttpContextAccess services.AddSingleton《IHttpContex

.NET CORE如何使用 Websocket

日期:2018-08-17 点击:4801 来源:PB2.CN

asp.net core 如何使用 Websocket:
1、安装 Microsoft.AspNetCore.WebSockets 包。
2、配置中间件。
3、接受 WebSocket 请求。
4、发送和接收消息。


配置中间件
在 Startup 类的 Configure 方法中添加 WebSocket 中间件:
可配置以下设置:
KeepAliveInterval - 向客户端发送“ping”帧的频率,以确保代理保持连接处于打开状态。
ReceiveBufferSize - 用于接收数据的缓冲区的大小。 高级用户可能需要对其进行更改,以便根据数据大小调整性能。


Configure

var webSocketOptions = new WebSocketOptions()
{
    KeepAliveInterval = TimeSpan.FromSeconds(120),
    ReceiveBufferSize = 4 * 1024
};
app.UseWebSockets(webSocketOptions);




接受 WebSocket 请求
在请求生命周期后期(例如在 Configure 方法或 MVC 操作的后期),检查它是否是 WebSocket 请求并接受 WebSocket 请求。
以下示例来自 Configure 方法的后期:


Configure类

app.Use(async (context, next) =>
{
    if (context.Request.Path == "/ws")
    {
        if (context.WebSockets.IsWebSocketRequest)
        {
            WebSocket webSocket = await context.WebSockets.AcceptWebSocketAsync();
            await Echo(context, webSocket);
        }
        else
        {
            context.Response.StatusCode = 400;
        }
    }
    else
    {
        await next();
    }
});



发送和接收消息
AcceptWebSocketAsync 方法将 TCP 连接升级到 WebSocket 连接,并提供 WebSocket 对象。 使用 WebSocket 对象发送和接收消息。
之前显示的接受 WebSocket 请求的代码将 WebSocket 对象传递给 Echo 方法。 代码接收消息并立即发回相同的消息。 循环发送和接收消息,直到客户端关闭连接:


收、发信息

private async Task Echo(HttpContext context, WebSocket webSocket)
{
    var buffer = new byte[1024 * 4];
    WebSocketReceiveResult result = await webSocket.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None);
    while (!result.CloseStatus.HasValue)
    {
        await webSocket.SendAsync(new ArraySegment<byte>(buffer, 0, result.Count), result.MessageType, result.EndOfMessage, CancellationToken.None);
        result = await webSocket.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None);
    }
    await webSocket.CloseAsync(result.CloseStatus.Value, result.CloseStatusDescription, CancellationToken.None);
}



在 Windows 8 或更高版本上启用对 WebSocket 协议的支持:
1、导航到“控制面板” > “程序” > “程序和功能” > “打开或关闭 Windows 功能”(位于屏幕左侧)。
2、打开以下节点:“Internet Information Services” > “万维网服务” > “应用程序开发功能”。
3、选择“WebSocket 协议”功能。 选择“确定”。


这篇文档对您是否有帮助?

ASP.NET Core中使用百度在线编辑器UEditor

ASP.NET Core中使用百度在线编辑器UEditor

ASP.NET Core中使用百度在线编辑器UEditor
.net core添加Area区域

.net core添加Area区域

Asp. Ce使用Area区域,可以有效的对业务进行隔离,各种业务及分工可以更灵活。在Asp. Ce中启用区域也是极简单的,比如:一个网站有前端、用户后台、管理,我们使用Area就能清晰划分每个功能板块前端:使用用默认的路由用户:使用“Users”路由管理:使用“Admin”路由1、在“Startup.cs”,添加Area路由public void Configure(IApplicationBu
ASP.NET CORE对url参数的编码

ASP.NET CORE对url参数的编码

用URL传参数的时候,用&符号连接,如果某一个参数中含"#$ ^ & + ="这些符号的时候,在另一个页面就会取不到传过来的参数。解决办法:ASP. CE:编码var url="http:www.baidu.com&text=" + Uri.EscapeDataString("(&^%$#@!!")输出:http:www.baidu.com&text=%28%2A%26%5E%25%24%23
ASP.NET Core 2.0使用NLog日志配置

ASP.NET Core 2.0使用NLog日志配置

一、新建ASP. Ce 2.0 MVC项目,使用NuGet在浏览中搜索:NLog.Web.AspCe,如下图所示:二、在项目下新建一个xml类型的nlog.config文件《?xml version="1.0" encoding="utf8"?》《nlog xmlns="http:www.nlogproject.gschemasNLog.xsd" xmlns:xsi="http:www.
asp.net core使用IHttpContextAccessor获取来源页

asp.net core使用IHttpContextAccessor获取来源页

1、在Startup文件注入IHttpContextAccesspublic void ConfigureServices(IServiceCollection services) { ... 注入HttpContextAccess services.AddSingleton《IHttpContex