微软MVP Eleven
这个作者很懒,什么都没留下…
展开
-
2021-07-30 .NET高级班 123-直播项目专题(微信支付对接)
微信支付:必备的三个参数AppID: 网站的IDMchID: 钱汇入账号Key: 我们网站去和微信交互的时候使用到一个加密key准备工作:1.访问:https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2F2支付的流程解析:1.微信有一个公共的支付接口: 通过发起http请求,调用这这个公共接口,可以获取针对于当前这一个订单的专属支付链接;问题:如果获取专属的支付链接:需要带上各种参数:参数中就包含AppID.原创 2021-07-30 08:42:28 · 44725 阅读 · 0 评论 -
2021-07-28 .NET高级班 122-直播项目专题(腾讯云云直播实现视频直播功能)
腾讯云直播产品配置一、云直播准备步骤:https://cloud.tencent.com/?fromSource=gwzcw.2212127.2212127.2212127&utm_medium=cpd&utm_id=gwzcw.2212127.2212127.22121271.访问:https://cloud.tencent.com/进入腾讯云首页2.注册账号3.实名认证(必须的)4.购买套餐—如果大家只是学习用;选择一个基础套餐就可以;5.配置域名 注意:又需要自己购.原创 2021-07-28 08:45:40 · 44626 阅读 · 0 评论 -
2021-07-27 .NET高级班 121-直播项目专题(id4无感刷新token)
1.前端401处理import axios from 'axios'import {useRouter} from "vue-router"; import { ElMessage } from 'element-plus'const router= useRouter();const $http = axios.create({ // baseURL:'http://localhost:5000/', timeout:20000, headers:{ .原创 2021-07-27 08:40:35 · 44631 阅读 · 0 评论 -
2021-07-26 .NET高级班 120-直播项目专题(图片防盗链)
/// <summary>/// 这里是一个标准的中间件的定义/// </summary>public class HotlinkingPreventionMiddleware{ private readonly RequestDelegate _next; private readonly IConfiguration _IConfiguration = null; public HotlinkingPreventionMiddle..原创 2021-07-26 08:39:53 · 44690 阅读 · 0 评论 -
2021-07-25 .NET高级班 119-直播项目专题(头像上传)
vue前端<el-upload class="avatar-uploader" :disabled="!isChangeInfoForm" action="api/File/UploadFile" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload.原创 2021-07-25 19:41:51 · 44248 阅读 · 0 评论 -
2021-07-24 .NET高级班 118-直播项目专题(阿里云实现短信验证码发送)
一:发送短信验证码/// <summary>/// 发送短信验证码/// </summary>/// <param name="mobile"></param>/// <returns></returns>[Route("SendVerifyCode")][HttpPost]public JsonResult SendVerifyCode(){ //检查的时候,需要 ip-- if (HttpCont.原创 2021-07-24 11:20:21 · 44526 阅读 · 0 评论 -
2021-07-23 .NET高级班 117-直播项目专题(登录功能实现)
一:首先上id4,密钥认证public IActionResult Login(LoginModel loginModel){ ApiResult apiResult = new ApiResult(); string message = string.Empty; string key = $"{loginModel.Tag}_VerifyCode"; //生成验证码的时候,有验证码,通过tag_VerifyCode 作为Key保存Redis string red.原创 2021-07-23 09:21:34 · 44605 阅读 · 0 评论 -
2021-07-22 .NET高级班 116-直播项目专题(后台模块的鉴权授权)
这边采用的是cookier的策略认证//定义策略参数,必须实现这个IAuthorizationRequirement接口public class CustomAuthorizationRequirement: IAuthorizationRequirement{ public CustomAuthorizationRequirement(PolicyEnum policyname) { this.PolicyName = policyname; } .原创 2021-07-22 14:38:57 · 44608 阅读 · 0 评论 -
2021-07-21 .NET高级班 115-直播项目专题(权限模块的缓存)
1.aotufac拦截器/// <summary>/// 记录日志/// </summary>public class CustomAutofacCacheAop : IInterceptor{ private readonly ILogger<CustomAutofacCacheAop> _logger; private readonly RedisHashService _RedisHashService; private read.原创 2021-07-21 08:48:11 · 44554 阅读 · 0 评论 -
2021-07-20 .NET高级班 114-直播项目专题(WebSocket实时统计排行榜)
public class WebSocketConnect{ //private RedisZSetService redisZSetService = new RedisZSetService(); private WebSocket socket = null; private ICSStatisticsService _CSStatisticsService = null; public WebSocketConnect(WebSocket socket, ICSS.原创 2021-07-20 08:37:37 · 44437 阅读 · 0 评论 -
2021-07-19 .NET高级班 113-AmCharts实时图表的使用
@{ ViewData["Title"] = "Index";}<div class="row"> <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12"> <div class="dashboard-stat blue"> <div class="visual"> <i class="fa fa-comments".原创 2021-07-19 23:34:25 · 44526 阅读 · 0 评论 -
2021-07-16 .NET高级班 112-直播项目专题(架构设计和数据库设计)
1:基础架构网站: ZhaoXi.LiveBackgroundManagement.WebSite实体对象:ZhaoXi.LiveBackgroundManagement.Models数据访问:ZhaoXi.LiveBackgroundManagement.DataAccessEFCore共用类库:ZhaoXi.LiveBackgroundManagement.Common业务逻辑:ZhaoXi.LiveBackgroundManagement.Business.Services业务逻辑抽象:.原创 2021-07-16 14:11:23 · 44506 阅读 · 0 评论 -
2021-07-16 .NET高级班 111-docker 的安装和各种环境部署
docker 的安装#在root 用户下#第一步 卸载旧的安装包yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine#第二步 安装需要的安装包yum install -y yum-utils#第三步 设置镜像的仓库yum-config-manager.原创 2021-07-16 14:10:04 · 44444 阅读 · 0 评论 -
2021-07-14 .NET高级班 110-微服务架构(商城案例)
1、需求说明实现用户下单操作流程(创建订单->扣减库存->用户支付->更新订单状态)途经微服务 订单微服务 → 库存微服务→ 订单微服务→ 账户微服务2、构建微服务项目(独立运行和部署)1、构建微服务项目(独立运行和部署)订单微服务->DB库存微服务->DB账户微服务->DB2、引入EFCore3、程序包管理器控制台:命令执行:3、工具–nuget包管理器–程序包管理器控制台:命令执行:1.Scaffold-DbContext ".原创 2021-07-14 08:47:06 · 44806 阅读 · 0 评论 -
2021-07-14 .NET高级班 109-爬虫专题(京东商城)
一:首先封装http请求类和日志类public class HttpHelper{ private static Logger logger = new Logger(typeof(HttpHelper)); /// <summary> /// 根据url下载内容 之前是GB2312 /// </summary> /// <param name="url"></param> /// <return.原创 2021-07-14 08:46:20 · 44619 阅读 · 0 评论 -
2021-07-14 .NET高级班 108-Dapper的使用
一:首先安装如下包DapperDapper.ContribMicrosoft.Extensions.OptionsSystem.Data.SqlClient二:封装public class DapperContext : IDisposable{ private IDbConnection Connection = null; public DapperContext() { string _ConnectionString = Configura.原创 2021-07-14 08:45:39 · 44469 阅读 · 0 评论 -
2021-07-11 .NET高级班 107-.NET5驱动memcache
.NET5驱动memcache准备好一个.NET5的 Web应用程序1.Nuget引入程序集EnyimMemcachedCore2.增加配置文件3.注册服务services.AddEnyimMemcached(options => Configuration.GetSection("enyimMemcached").Bind(options));4.use中间件app.UseEnyimMemcached();//memcachedcore25.构造函数注入6.通过Get、S.原创 2021-07-11 09:35:04 · 44394 阅读 · 2 评论 -
2021-07-11 .NET高级班 106-memcache常见的命令
memcache常见的命令准备工作:memcache服务必须要是启动状态;1.stats命令2.add命令2.Set : 命令参数跟add差不多-----如果说keymemcache中已经存在,就替换,否则就新增;3.get : 从memcache中获取数据4.flush_all: 清除所有的数据----慎用;在生产环境一般不会使用这个;如果清除所有的缓存数据,就需要重新初始化缓存;5.incr:自增命令: 如果add了一个1 到memcache ;这个命令可以把1 做步长值的增加;---.原创 2021-07-11 09:34:16 · 44314 阅读 · 0 评论 -
2021-07-11 .NET高级班 105-memcache安装
一:memcache安装1.windows安装,一般是测试环境;2.linux安装:一般在生产环境;Windows安装:1.一次性安装—通过命令启动,会占据终端;在windows下,后台启动是失效2.安装成windows服务–随机自启动官网上并未提供 Memcached 的 Windows 平台安装包,我们可以使用以下链接来下载,你需要根据自己的系统平台及需要的版本号点击对应的链接下载即可:32位系统 1.2.5版本:http://static.runoob.com/download/me.原创 2021-07-11 09:33:27 · 44584 阅读 · 0 评论 -
2021-07-09 .NET高级班 104-memcache缓存的介绍
memcache篇简介:官网:http://memcache.org/定义:memcache是一个内存缓存系统,memcache里面的数据全部缓存在内存中,速度比硬盘要快。存储介质速度:硬盘最慢(TB),内存(G),一级缓存更快(M),二级缓存更快(M),cup(寄存器,电脑中最快的存储单元,只能存储简单的0和1)为什么使用memecache做数据缓存?web1.0: 用户只能看信息—看新闻web2.0: 不仅要求能看,而且需要能够评论—需要让客户单和服务器做交互web3.0:在Web.原创 2021-07-09 13:55:48 · 44373 阅读 · 0 评论 -
2021-07-09 .NET高级班 103-Cache缓存的实现
静态字段缓存基本使用 /// <summary> /// 1 客户端缓存-CDN缓存-反向代理缓存-本地缓存 /// 2 本地缓存原理和手写基础实现 /// 3 缓存更新/过期/多线程测试 /// 4 缓存类库封装和缓存应用总结 /// </summary> /// <param name="args"></param> static.原创 2021-07-09 13:55:00 · 44500 阅读 · 0 评论 -
2021-07-09 .NET高级班 102-Socket的使用
一:Socket的基本使用tcp使用服务端public static void Proccess(){ int port = 2018; string host = "127.0.0.1"; IPAddress ip = IPAddress.Parse(host); IPEndPoint ipe = new IPEndPoint(ip, port); Socket sSocket = new Socket(AddressFamily.InterNetwo.原创 2021-07-09 13:53:54 · 44395 阅读 · 0 评论 -
2021-07-09 .NET高级班 101-Redis分布式缓存 ServiceStack中List类型
RedisListService 类请参考第一篇的封装redis 数据结构List的使用using (RedisListService service = new RedisListService()){ service.FlushAll(); service.Add("article", "XT1234"); service.Add("article", "kevin"); service.Add("article", "大叔"); service.Add.原创 2021-07-09 13:53:04 · 44299 阅读 · 0 评论 -
2021-07-09 .NET高级班 100-Redis分布式缓存 ServiceStack中ZSet类型
RedisZSetService 类请参考第一篇的封装redis 数据结构ZSet的使用using (RedisZSetService service = new RedisZSetService()){service.FlushAll();//清理全部数据service.Add("advanced", "1");service.Add("advanced", "2");service.Add("advanced", "5");service.Add("advanced", "4");.原创 2021-07-09 13:52:10 · 44461 阅读 · 0 评论 -
2021-07-08 .NET高级班 99-Redis分布式缓存 ServiceStack中Set类型
RedisSetService 类请参考第一篇的封装redis 数据结构Set的使用using (RedisSetService service = new RedisSetService()){service.FlushAll();//清理全部数据service.Add("advanced", "111");service.Add("advanced", "112");service.Add("advanced", "114");service.Add("advanced", "114.原创 2021-07-08 14:23:46 · 43898 阅读 · 0 评论 -
2021-07-08 .NET高级班 98-Redis分布式缓存 ServiceStack中Hash类型
RedisHashService 类请参考第一篇的封装redis 数据结构Hash的使用using (RedisHashService service = new RedisHashService()){service.SetEntryInHash("student", "id", "001");service.SetEntryInHash("student", "name", "张小徐");service.SetEntryInHash("student", "remark", "啦啦啦");.原创 2021-07-08 14:22:41 · 44087 阅读 · 0 评论 -
2021-07-07 .NET高级班 97-Redis分布式缓存 ServiceStack中String类型
RedisStringService 类请参考第一篇的封装redis 数据结构string的使用using (RedisStringService service = new RedisStringService()){ service.Set<string>("student1", "梦的翅膀"); Console.WriteLine(service.Get("student1")); service.Append("student1", "20180802".原创 2021-07-07 09:18:27 · 44299 阅读 · 0 评论 -
2021-07-07 .NET高级班 96-Redis分布式缓存 ServiceStack的封装
一:引入以下包nuget安装:ServiceStack二:redis代码的封装配置文件/// <summary>/// redis配置文件信息/// 也可以放到配置文件去/// </summary>public sealed class RedisConfigInfo{ /// <summary> /// 可写的Redis链接地址 /// format:ip1,ip2 /// /// 默认6379端口 .原创 2021-07-07 09:17:19 · 44284 阅读 · 0 评论 -
2021-07-07 .NET高级班 95-Redis分布式缓存 ServiceStack的破解
步骤一: 修改ServiceStack.Text下载路径https://github.com/ServiceStack/ServiceStack.Text找到LicenseUtils类:修改 ServiceStack.text源代码6000限制方法:直接修改 LicenseUtils里面的ApprovedUsage,直接return代码如下public static void ApprovedUsage(LicenseFeature licenseFeature, LicenseFeat.原创 2021-07-07 09:16:23 · 44740 阅读 · 0 评论 -
2021-07-06 .NET高级班 94-nginx集成grpc的配置
# HTTPS server# 这里可以配置gRPC集群server { listen 448 ssl http2; #因为gRPC是基于Http2.0这需要增加配置http2 server_name localhost; ssl_certificate cert.pem; ssl_certificate_key cert.key; # #ssl_session_cache shared:SSL:1m; #ssl_se.原创 2021-07-06 08:37:14 · 44119 阅读 · 0 评论 -
2021-07-05 .NET高级班 93-CentOS7安装nginx及nginx配置
CentOS7安装nginx及nginx配置安装所需插件1、安装gccgcc是linux下的编译器命令:查看gcc版本gcc -v一般阿里云的centOS7里面是都有的,没有安装的话会提示命令找不到,安装命令:yum -y install gcc2、pcre、pcre-devel安装pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。安装命令:yum install -y pcre pcre.原创 2021-07-05 08:35:52 · 44279 阅读 · 0 评论 -
2021-07-04 .NET高级班 92-Nginx篇
Nginx篇1 基本操作命令先CD到nginx.exe目录启动nginx服务nginxstart nginx优雅停止nginx,有连接时会等连接请求完成再杀死worker进程nginx -s quit优雅重启,并重新载入配置文件nginx.confnginx -s reload查看nginx配置是否正确,测试配置是否有语法错误nginx -t查看帮助信息nginx -h指定配置文件nginx -c filename停止服务nginx -s stop nginx2 负.原创 2021-07-04 17:46:48 · 44079 阅读 · 0 评论 -
2021-07-04 .NET高级班 91-ASP.NET MVC WebApi前后端传参详解
一:前端请求Get前端(以JQ测试,其他前端请求列如:axio,jsonp等都是一样的)后端响应using Advanced.SOA.Interface;using Advanced.SOA.Models;using Advanced.SOA.WebApi.Utility.Filter;using Newtonsoft.Json;using Newtonsoft.Json.Linq;using System;using System.Collections.Generic;using .原创 2021-07-04 17:46:01 · 44358 阅读 · 0 评论 -
2021-07-04 .NET高级班 90-分布式服务 WCF的使用
WCF相比于webservice特点是:支持不同的协议:http tcp IPC MSMQ p2p支持不同的宿主:网站 控制台 winform WindowsService双工协议(可在接的同时进行发)、下面来说说WCF的使用第一种方法:一:在asp.net网站的路由中配置如下代码public class RouteConfig{ public static void RegisterRoutes(RouteCollection routes) { rou..原创 2021-07-04 17:45:05 · 44256 阅读 · 0 评论 -
2021-07-04 .NET高级班 89-分布式服务 WebService的基本使用
WebService:寄宿在IIS,也就是必须在网站项目Http协议 SOAP协议1 Http传输信道,A服务器到B服务器,数据是什么格式传递的2 XML的数据格式—Http传输解析得到的有用数据3 SOAP协议—封装格式:在分布式的环境中,描述了如何做数据交换的一个轻量级协议4 WSDL:属于webservice的标配,标准化描述服务,方便调用5 UDDI:根据描述查找服务的机制服务端调用WebService添加服务引用,基于svcUtil.exe生成的基于wsdl生成的一个代理:屏蔽服.原创 2021-07-04 17:44:14 · 44040 阅读 · 0 评论 -
2021-07-04 .NET高级班 88-ASP.NET MVC 控制器工厂实现Unity容器注入
DI工厂public class DIFactory{ private static IUnityContainer _Container = null; private readonly static object DIFactoryLock = new object(); public static IUnityContainer GetContainer() { if (_Container == null) { .原创 2021-07-04 17:43:28 · 44462 阅读 · 0 评论 -
2021-07-04 .NET高级班 87- ASP.NET MVC Log4日志的用法
nuget安装log4net包配置文件代码如下<?xml version="1.0" encoding="utf-8"?><log4net> <!-- Define some output appenders --> <appender name="rollingAppender" type="log4net.Appender.RollingFileAppender"> <file value="log\log.txt" /> .原创 2021-07-04 17:42:37 · 44254 阅读 · 0 评论 -
2021-07-03 .NET高级班 86- ASP.NET MVC 管道模型详解
ASP.NET MVC管道模型图HttpModule管道public class BaseModule : IHttpModule{ /// <summary> /// Init方法仅用于给期望的事件注册方法 /// </summary> /// <param name="httpApplication"></param> public void Init(HttpApplication httpApplic.原创 2021-07-03 07:47:42 · 44426 阅读 · 2 评论 -
2021-07-03 .NET高级班 85-ASP.NET Core mongodb数据库的基本语法
Mongodb基本操作查询数据库show databases切换数据库use test查询当前数据库下面的集合show collections创建集合db.createCollection("集合名称") 删 除 集 合 db.集合名称.drop()删除数据库db.dropDatabase() //首先要通过use切换到当前的数据库Mongodb增删改查(CURD)id 系统会自动加一个时间戳+机器码 生成增(insert)1 新增.原创 2021-07-03 07:18:38 · 44302 阅读 · 0 评论 -
2021-07-03 .NET高级班 84-ASP.NET Core RabbitMQ群集安装
★★★★★★http://www.rabbitmq.com/which-erlang.html (rabbitmq和erlang版本对应表)RabbitMQ 群集安装(每一台机器都操作)一、环境描述1、操作系统主机名IP地址操作系统版本erlang 版本rabbitmq 版本192.168.3.99node02CentOS Linux release 7.4.1708 (Core)21.03.7.7192.168.3.100node01CentOS Li.原创 2021-07-03 07:17:45 · 44090 阅读 · 0 评论