![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
.net
还有远方和田野
90后程序员,斜杆青年
展开
-
cmd用管理员权限连接远程桌面命令
两种方式都可以启动!原创 2022-07-28 14:59:40 · 2993 阅读 · 2 评论 -
WCF服务实例,winfrom宿主
1,WCF服务很多时候跟winfrom配套使用,当然也有没有WCF的服务做后端处理的CS项目,这个跟设计相关,不多说了,一直在使用,有时间也得到搭一搭,做下轮子!2,原创 2021-08-31 15:36:56 · 240 阅读 · 0 评论 -
oracle分页
int startIndex = (page - 1) * rows; int offset = page*rows; string sel = "select * from A where 1=1 ; string selSQL = string.Format(@"select * from(select A.*, rownum rn from( {0})A) where rn > {1} and rn <...原创 2021-06-03 11:26:39 · 119 阅读 · 0 评论 -
AutoFace实现依赖注入
1,常规的通过注入实实现控制反转的方式(构造注入,方法注入,属性注入)不多说了,其他概念百度查一下就好,上代码最直接 //数据操作接口 public interface IDatabase { string Name { get; } void Select(string commandText); void Insert(string commandText); vo原创 2020-11-25 15:21:45 · 1759 阅读 · 0 评论 -
C#递归处理树菜单
菜单类 public class Enum { public int id { get; set; } public string Name { get; set; } public int pid { get; set; } }树形菜单类 public class ResposeEnum { public int id { get; set; .原创 2020-11-20 09:33:48 · 1076 阅读 · 0 评论 -
winfrom程序好的登陆方式
1,现在也是好久没有做winfrom程序了,有点时间,写点小东西记录下,见过最多的还是先启动登录窗体,然后成功后,将其隐藏,当然可以,但是有更好的方式,代码如下:2,登录窗体代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;原创 2020-10-20 11:03:21 · 147 阅读 · 0 评论 -
redis简单帮助类
代码很简单,根据它的操作自己封装就好了using ServiceStack.Redis;using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace SHB.TOPS.WebApi.FMS.Common{ public class RedisHelp { RedisClient redisClient = null; pu原创 2020-05-26 15:33:47 · 382 阅读 · 0 评论 -
NET使用NPOI读取excel
1,记录一下,通过sheel名字读取,同时处理数据为时间读取内容不正确的情况 /// <summary> /// 读取excel 表格 /// </summary> /// <param name="fileName"></param> /// <param name="s...原创 2020-04-28 10:46:12 · 534 阅读 · 0 评论 -
Nlog日志记录组件使用
前面做的项目都是用的log4或者用个文件类写入文件中记录日志,这个nlog用着很方便,同时也有net core的版本,一步一步操作吧1,nuget 中找到nlog并下载安装,注意框架版本,也可以去官网下载:https://nlog-project.org/2,安装ok后直接上代码public sealed class Log { private static...原创 2020-04-20 16:06:18 · 1453 阅读 · 0 评论 -
SqlSugar-ORM 学习使用实现简单的封装
1,开源地址:https://github.com/sunkaixuan/SqlSugar也可在VS中搜索SqlSugar 进行安装文档,例子都在该地址中找到, http://www.codeisbug.com/ SqlSugar是一款国产ORM。使用非常方便,能快速实现对 SqlServer,Sqlite,Oracle,MySql,等主流数据库的CRUD ORM...原创 2020-03-12 17:12:53 · 3235 阅读 · 0 评论 -
asp.net mvc+html实现文件上传
文件上传其实很多的组件效果都很不错,像webupload等等,最近的项目不让用,那就自己写呗,不多说了,上代码。 1,前端代码: <form id="form1" enctype="multipart/form-data" method="post"> <div class="row"> ...原创 2020-03-10 20:07:12 · 369 阅读 · 0 评论 -
webapi使用JWT进行授权认证
1,在asp.net mvc 中常用的是 Cooke+Session 或者 form 认证(实际也是Cooke)的方式,当然都是mvc中在 webapi中也是可以使用的,那么上面的两种方式这里就不多写了,后面有时间写,今天最主要是 JWT的认证方式2,简单说明一下,JWT是什么。JWT 全称 JSON Web Tokens ,是一种规范化的 token。是对 token 这一技术提出一套规范...原创 2020-02-27 18:06:54 · 5045 阅读 · 0 评论 -
使用SuperWebSocket实现Web消息推送
很久想实现这个功能,今天试一试,其实为了实现客户端获取到信息,客户端也可以使用ajax去轮询的方式,只不过那样的效率比较低,而且对服务器的压力比较大!一步步来吧,1,vs下载相关组件2,写入服务端代码public class WebSocketManager { static Dictionary<string, WebSocketSession&...原创 2020-02-03 15:22:49 · 1150 阅读 · 0 评论 -
Nancy (一)
首先了解下:Nancy是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET 和 Mono平台,框架的目标是保持尽可能多的方式,并提供一个super-duper-happy-path所有交互。 Nancy 设计用于处理DELETE, GET, HEAD, OPTIONS, POST, PUT 和 PATCH 等请求方法,并提供简单优雅的 DSL以返回响应。 Nan...原创 2019-10-20 22:40:18 · 576 阅读 · 0 评论 -
C# LINQ to XML
C# LINQ to XMLNET 3.5 的时候出现了 LINQ to XML 也确实挺好用的。 //注意 XDocument.Load(Path).Root.Elements("Order") string Path = HttpContext.Current.Server.MapPath("/data/Orders.xml"); var List = (from...原创 2019-10-20 21:35:49 · 134 阅读 · 0 评论 -
C#多线程(三)
三,异步回调.顺序控制!【异步回调】private void button3_Click(object sender, EventArgs e) { Console.WriteLine(); Console.WriteLine("****************** 异步方法 start {0}********************", T...原创 2019-06-18 23:48:39 · 222 阅读 · 0 评论 -
.net中的各种委托用法(二)
上吃用到了比较老的 delege 委托,新的升级中有新的关键字 Action 和Func1,Action,可以传入参数,没有返回值的委托!看看函数重载说明就知道了!上代码,一目了然 static void Main(string[] args) { Action<int, int> action = new Action<int,...原创 2019-06-15 15:44:25 · 517 阅读 · 1 评论 -
C#多线程(四)
线程池,在线程出现之后,在NetFramework2.0之后出现了 ThreadPool线程池:池化线程管理,进程唯一一个实例,其中会默认申请10个线程,程序需要线程时,就向池子申请,获取并使用,用完后回归池子;如果线程不够用,会由池子向CLR申请,如果闲置太多,就池子负责释放;效果:起到线程重用,避免重复的申请释放;管控最大线程数量 ,再往后的多线程,都是基于线程池的线程;不会阻塞当前线程...原创 2019-06-19 23:52:34 · 181 阅读 · 0 评论 -
C#多线程(一)
线程关键字 Thread原创 2019-06-18 13:14:01 · 147 阅读 · 0 评论 -
C#手写ORM框架,核心实现
ORM 对象关系映射,net平台上最出名就是EF框架了,当然还有dapper,EF好用的,但是他太大了,如果是一写小项目的项目则咩有必要,那么dapper是一个比较轻量级的,他的映射在于实体对象和sql参数的对应,笔记接近ado.net了,那么我们可以自己写一个orm么?当然是可以的,其实不管怎么样最后到底层还是sql语句,对于net来说就是 ado.net!1,在此之前,应该了解一写关于反射的...原创 2019-06-22 15:16:06 · 1469 阅读 · 0 评论 -
C#多线程(二)
二,线程的同步和异步如果看到我关于委托应用(二)的朋友应该发现了this.Invoke(delegate) 的用法,这是实际是线程的调用,跨线程调用的使用 ,和new delegate().Invoke() 是不一样的,但是都可去调用委托的同步异步!概念同步:发起调用,必须等着完成后,才能进入下一行。异步:发起调用,不用等着完成,直接进入下一行,原来的操作也会有新的执行流来完成。一,线程...原创 2019-06-18 16:57:55 · 211 阅读 · 0 评论 -
.NET 中使用redis(四)
1,应用场景:订单过期时间可以通过redis缓存进行存放,然后redis过期之后,处理订单超时可以使用redis 的键过期触发事件通知!redis在 2.8.0(4.0以后就开始收费了)以后的版本提供了,KeySpace Notification功能,允许客户订阅pub/Sub频道,以便以某种方式接收影响redis数据集事件。接下来实际操作:先看看自己的redis版本:我这是3.0的版...原创 2019-06-23 15:39:29 · 1577 阅读 · 0 评论 -
C#中的动态类型dynamic
1,动态类型dynamic最常见啊的使用就是在将json字符串接受下来,然后像操作是js操作json一样去处理数据,很轻盈的!废话不多说,上代码!var info = "{\"Account\":\"张三\",\"Pwd\":\"12323\"}"; //json字符串var infoDynamic = JsonConvert.DeserializeObject<dynamic&g......原创 2019-07-02 10:37:34 · 7619 阅读 · 0 评论