C#
文章平均质量分 50
glmushroom
这个作者很懒,什么都没留下…
展开
-
C# 正则表达式判断是否为数字,包括正负浮点数
【代码】C# 正则表达式判断是否为数字,包括正负浮点数。原创 2023-02-20 11:47:11 · 871 阅读 · 1 评论 -
C# 使用NModbus4、EasyModbus进行串口ModbusRTU数据收发,立即获取返回响应
使用NModbus4、EasyModbus进行串口ModbusRTU数据收发,立即获取返回响应原创 2022-07-13 08:54:31 · 8020 阅读 · 2 评论 -
C# 搭建GRPC,实现双向通信
一、新建项目,定义GRPC服务接口vs新建dll项目,项目中NuGet程序包添加Grpc相关引用定义服务,创建.proto文件创建文件CorrespondService.protosyntax = "proto3";package My.Public;service CorrespondGrpcService { rpc SendMsg(GrpcData) returns (GrpcResult); rpc ReceiveDataFromServer(GrpcData) r原创 2022-04-18 18:59:08 · 13600 阅读 · 10 评论 -
C# 摇杆设备连接,获取键值
C# 摇杆设备连接类原创 2021-07-28 11:17:05 · 2186 阅读 · 1 评论 -
C# 利用Emgu.CV,多张图片合成全景图
一、Nuget上引用Emgu.CV的包,使用4.1.X版本二、vs建立WPF测试工程 MainWindow上放一个Image控件用来展示合成后的图片。放一个合成按钮三、准备图片源文件夹,我准备了连续拍摄的18张图片的文件夹。 Stitcher stitcher = new Stitcher(Stitcher.Mode.Panorama); Mat[] mat1 = new Mat[18]; Mat[] mat2 = new Mat[...原创 2021-07-07 17:29:11 · 1277 阅读 · 0 评论 -
C# 使用Cache和DES进行后端WebApi登录及身份权限验证
一、Api提供登录接口,并在需要身份验证的接口上添加权限验证拦截器using System;using System.Web.Http;namespace WebApiTest{ public class UserController : ApiController { [HttpPost] [AllowAnonymous] public IHttpActionResult Login(string userName, strin原创 2020-12-22 08:29:06 · 783 阅读 · 0 评论 -
C# log4net的使用。输出的日志内容添加文件名和行号。
一、NuGet上安装log4net二、添加log4net.config文件在configuration中添加如下配置: <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections> <log4net> <root>原创 2020-12-03 16:17:30 · 3264 阅读 · 3 评论 -
.net mvc及WebApi中拦截器、过滤器的用法;在拦截器中获取api参数的值,进行预处理。
一、.net mvc中使用拦截器引用using System.Web.Mvc;继承 : ActionFilterAttribute,IActionFilterpublic void OnAuthorization(AuthorizationContext filterContext){ }获得Action中参数的值,提前进行预处理 private string GetPara(ActionExecutingContext filter原创 2020-11-12 19:02:32 · 2997 阅读 · 0 评论 -
C# 实现Redis客户端;实时数据缓存用法
一、Redis服务端下载Redis解压,设置配置文件参数,端口、密码等,运行,具体参见:https://www.runoob.com/redis/redis-install.html二、Redis客户端public class RedisClient { private string _redisServerIp = string.Empty; private int _redisServerPort = 0; private str原创 2020-11-09 17:13:03 · 641 阅读 · 0 评论 -
C# 后端WebApi实现跨域
之前写过以dll为宿主的WebApi实现,参照:https://blog.csdn.net/glmushroom/article/details/107538919现在遇到前端跨域问题。在NuGet中引入在配置中进行设置 :config.EnableCors();config.EnableCors(new EnableCorsAttribute("*", "*", "*")); public static bool isHostStart = false;原创 2020-11-06 16:38:01 · 1116 阅读 · 0 评论 -
C# 使用SQLsugar搭建数据仓库
通过NuGet获取SqlSugarSqlsugarClient访问类 public class SugarFactory { private static string strConnectionString = string.Empty; #region 数据库访问对象 /// <summary> /// 数据库访问对象 /// </summary> priv原创 2020-08-29 16:12:52 · 2734 阅读 · 2 评论 -
C# wpf程序及页面 WebSocket客户端实现
使用WPF工程,利用WebSocketSharp开源websocket-sharp.clone库实现websocket客户端using WebSocketSharp; /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { public MainWindow() {原创 2020-08-07 12:00:44 · 4651 阅读 · 1 评论 -
C# WebSocket服务端实现
利用WebSocketSharp开源websocket-sharp.clone库实现websocket服务端建一个wpf测试工程。using WebSocketSharp;using WebSocketSharp.Server; public class ServerSharp : WebSocketBehavior { int count = 0; protected override Task OnOpen()原创 2020-08-07 11:47:16 · 2492 阅读 · 0 评论 -
C# HttpClient帮助类
public class HttpClientHelp { // Post请求 public static T PostResponse<T>(string url, string postData, int iWaitTime = 3000) where T : class, new() { try { if (url.Sta...原创 2020-07-23 16:18:12 · 1648 阅读 · 0 评论 -
C# 以应用程序或dll做宿主的WebApi实现
C# 在一个exe应用程序或者dll中启动WebApi服务。新建一个工程在NuGet上获取WebApi相关组件:创建WebApi服务:using System.Web.Http;using System.Web.Http.SelfHost; public class WebApiHost { public static bool isHostStart = false; public static HttpSelfHostServer _原创 2020-07-23 15:54:58 · 2580 阅读 · 1 评论 -
C# ModbusRTU通信寄存器数据读写
先了解ModbusRTU的通信协议。功能码: 代码 名称 作用 01 读取线圈状态 取得一组逻辑线圈的当前状态(ON/OFF) 02 读取输入状态 取得一组开关输入的当前状态(ON/OFF) 03 读取保持寄存器 在一个或多个保持寄存器中取得当前的二进制值原创 2020-07-13 11:13:52 · 8312 阅读 · 0 评论 -
MVC 页面表格,点击查看将一行的对象传入下一个页面
不使用强类型页面,在第一个页面上放表格,最后一列点击查看将本行对象传入。 <table class="table table-bordered"> <thead> <tr> <th title="任务名称">任务名称</th>...原创 2019-07-23 10:37:48 · 217 阅读 · 0 评论 -
MVC 后端根据图片路径,读取图片成为文件流,显示到页面的img中。(js处理图片文件流,设置到img的src属性中)
1、根据图片名称读取文件流 public static byte[] GetBytesFromImage(string filename) { try { FileStream fs = new FileStream(filename, FileMode.Open, FileAcc...原创 2019-07-26 16:21:35 · 6824 阅读 · 0 评论 -
C# Lambda表达式动态拼接合并,进行两张表的多条件联合查询。
Lamda表达式的拼接合并类 /// <summary> /// Lambda表达式拼接扩展类 /// </summary> public static class ExpressionHelp { /// <summary> /// Lambda表达式拼接 /// &l...原创 2019-07-22 11:17:40 · 13030 阅读 · 3 评论 -
ASP.net 发布建立网站的步骤。及打开网页500.19、500.21解决方法。
1.控制面板-----> 程序和功能----->打开或关闭Windows功能Internet信息服务下FTP服务器全选,Web管理工具全选,万维网服务如下图:点击确定。2.控制面板---->管理工具----->Internet信息服务(IIS)管理器(没有6.0)点击左边图标 展开后右键网站点击“添加网站”,填写网站名称(随便...原创 2018-12-14 09:52:36 · 845 阅读 · 0 评论 -
WebService、WCF在ASP.net网页后端的用法。WebService、WCF初学的简单总结。
在用ASP.net开发网页的过程中,有些数据需要从后台(服务端)获得。需要前端的页面和后端服务端进行数据通信。如何选用搭建这个服务端是今天要总结的。WebService要发布在IIS上使用。WCF 支持多种通信协议 Http/Https 、TCP/UDP、MSMQ、命名管道、对等网、消息可达性、事务流等。具体区别之前看过一篇文章可以参考:https://www.cnblogs.co...原创 2018-12-20 11:45:24 · 400 阅读 · 0 评论 -
C# http服务端接口,通用数据库接口、与普通字符串类型接口
1、通用数据库接口,返回类型为dt2、字符串类型接口,传入关键字参数,返回类型为字符串 [ServiceContract] public interface IDataBaseService { #region 通用数据库访问接口 [OperationContract] DataTable ExecuteDataT...原创 2018-12-11 15:28:33 · 1389 阅读 · 0 评论 -
C# ASP.net 添加Service Reference服务引用
1、启动WebService服务端 服务端相关代码: https://blog.csdn.net/glmushroom/article/details/849552402、打开ASP.net工程右键->添加服务引用输入启动的服务端的地址:3、使用接口页面中添加Label1、Label2如下使用两类接口:a:查询数据库接口,返回所查数据表的行数;b:字符串...原创 2018-12-11 15:41:22 · 7482 阅读 · 0 评论 -
ASP.net 利用div进行简单的页面布局
Div水平居中核心语句:margin:0px auto;<div style=" margin:0px auto; width:100px; height:100px; background:#FF0000;"> Div水平排列核心语句:float:left <div style="float:left; width:20%; height:...转载 2018-12-17 17:33:27 · 4274 阅读 · 0 评论 -
C# 建立WCF服务端。http服务端,可用于ASP.net网页的后端、分布式数据库访问。
声明提供服务的主机与服务名: private static ServiceHost _host; private static readonly string strServiceName = "/DataService";启动服务端,默认端口8000: /// <summary> /// 启动系统主服务。 ...原创 2018-12-11 15:06:57 · 1719 阅读 · 0 评论 -
C#路径中获取文件全路径、目录、扩展名、文件名称
class Program { static void Main(string[] args) { //获取当前运行程序的目录 string fileDir = Environment.CurrentDirectory; Console.WriteLine("当前程序目录:"+fil...转载 2018-04-23 15:30:02 · 254 阅读 · 0 评论 -
C#保存文件、读取文件对话框
using Microsoft.Win32//保存 private void Button_Click(object sender, RoutedEventArgs e) { SaveFileDialog dialog = new SaveFileDialog(); dialog.InitialDire...原创 2017-04-17 09:55:54 · 2149 阅读 · 1 评论 -
C# 浏览文件夹、获得文件夹及子目录下的所有文件
FolderBrowserDialog dialog = new FolderBrowserDialog(); dialog.Description = "请选择文件路径"; if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) ...原创 2017-06-14 10:38:09 · 4680 阅读 · 1 评论 -
asp.net MVC框架初学的总结。以及MVC利用PartView实现页面局部刷新的方法。
在之前的asp.net WebForms的小项目上,改造成一个使用MVC框架的显示页面MVC框架核心:Model、View、ControllerModel的文件结构如下:Controller中返回当前基础的配置信息: BoardInfo bdinfo; public ActionResult Storage_Device() {...原创 2018-12-28 15:42:51 · 1185 阅读 · 0 评论 -
ASP.net 添加Service Reference,发布网站要注意的问题
1,开启WCF服务端后,如果ASP是远程添加Service Reference要注意IP地址。在WCF服务端是否有IP地址无法识别:以下1、localhost在远程时无法识别添加 2、直接赋值“192.168.1.110”则在WCF程序主机更换时需手动改代码应改为自动识别本机的IP2、ASP.net工程发布网站时,注意选择“文件系统”3、IIS建立网...原创 2018-12-12 11:31:04 · 890 阅读 · 0 评论 -
ASP.net 网站发布步骤及注意事项
1、用VS2013打开解决方案。 2、选中解决方案,点击鼠标“右键”—>从弹出对话框中,选择“清理解决方案”。3、待第2步“清理解决方案”结束后,选中“解决方案”—>点击鼠标“右键”—>在弹出对话框中,选择“重新生成解决方案”。4、待第3步“重新生成解决方案”结束后,选择web运用程序,如下图中“testDemo”—>点击鼠标“右键”—>...转载 2018-12-12 13:49:25 · 418 阅读 · 0 评论 -
WCF 学习文件流服务的总结,实现文件服务端、客户端上传下载文件功能
服务的建立类似之前的文章:https://blog.csdn.net/glmushroom/article/details/84955240文件服务的区别ServiceHost的typeof的类型: UriBuilder uriBuilder = new UriBuilder(Uri.UriSchemeHttp, host, port, FilesService.st...原创 2018-12-24 15:24:46 · 309 阅读 · 0 评论 -
C# 利用反射根据dll和类名加载DLL中的类和方法。
类名为包含命名空间的名字。 string Path = System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); Assembly assembly = Assembly.LoadFrom(Path + "\\" + dllName); ...原创 2019-03-14 14:04:23 · 2306 阅读 · 0 评论 -
C# Action与Delegate、Event和Func的差异
Action是一个泛型的委托,其内部即使用delegate去实现,当普通的delegate定义的参数与Action个数、类型一致时,两者实现的功能是一样的。只是Action的方式更加简洁、规范。 (1). delegate delegate我们常用到的一种声明 Delegate至少0个参数,至多32个参数,可以无返回值,也可以指定返回值类型。 例:pub...原创 2019-03-07 14:22:11 · 1755 阅读 · 0 评论 -
C# 多线程中AutoResetEvent的用法。多线程lock一个obj的用法
在多线程中,为了防止多个线程对一个变量赋值的更改或者一段代码段的逻辑的修改,需要对这个赋值动作或者代码段加锁。private AutoResetEvent _autoSetEvent = new AutoResetEvent(false);在启动一个线程后但是需等待时: if (!isStart) { ...原创 2019-03-14 13:56:49 · 897 阅读 · 0 评论 -
C# 用系统的管理员身份启动程序或者进程
使用管理员账户身份运行程序或进程:startexePath:exe的路径strPara:带参启动时,为exe的启动参数 System.Security.Principal.WindowsIdentity identity = System.Security.Principal.WindowsIdentity.GetCurrent(); ...原创 2019-05-20 14:33:13 · 1106 阅读 · 0 评论 -
WPF 数据库获得的数据DataTable绑定到DataGrid进行界面显示,自动生成列头。
一般在WPF使用DataGrid时,在Xaml页面定义各个列头和绑定数据源。从数据库读取的数据DataTable也可以直接绑定DataGrid。1、在Xaml拖一个DataGrid。2、得到DataTable 声明DataTable dt_Edit = new DataTable(); 数据库读取: string ConStr = ...原创 2018-07-17 10:16:12 · 8792 阅读 · 0 评论