C#
lee576
积累是一个漫长的过程,它足以可以让你写出N本书的内容
展开
-
SignalR注册成Windows后台服务,并实现web前端断线重连
本文主要说明 SignalR 如何注册成 windows 后台服务,及前端如何在断线的情况下不断尝试重新连接原创 2023-02-12 13:51:14 · 1775 阅读 · 2 评论 -
封装一个 C# OPC UA 错误提示类
以上是罗列了所有的错误提示,供参考,不至于遇到错误的时候找不到方向。原创 2022-12-27 18:16:04 · 2036 阅读 · 1 评论 -
C# 映射递归对象
C# 映射递归对象原创 2022-08-11 14:33:43 · 619 阅读 · 0 评论 -
WebApi 打个Attribute 统一处理异常
前一段时间看杨中科的视频,其中吐糟了mvc的管道机制,当然用在webui的渲染上这个还不如做个前后端分离,因为用管道和razor视图引擎去做这些看着就很繁琐,并且很重,整个架构都复杂化了,但是作为一些AOP的处理,管道却非常的好用,下面用一个Atrribute异常过滤器来统一的处理异常,那么每次有异常出现就不用写如上的代码去手动捕获了。以上就是一个异常处理的过滤器,下面的Contronlller只用打上一个标签就不用再去写trycatch了。我们处理异常的时候通常都要写形如以下的代码。...原创 2022-07-27 09:56:03 · 514 阅读 · 0 评论 -
Vue + DataV + SignalR 数字化大屏展示
个人觉得大屏展示其实很简单,噱头多过技术含量,下面使用了 DataV (不是阿里的那个DataV哈,具体链接在这里)开发了一个大屏展示,使用了css flex弹性布局,使用了DataV的一些比较酷炫的边框(SVG写的),基本上功能没有全部完成,但是模子已经刻出来了,只是后端推送的内容没有全部写出来前端<template> <dv-full-screen-container class="screen-container"> <div class="ti原创 2022-02-15 17:28:21 · 2173 阅读 · 0 评论 -
关于如何防止 WinForm 界面卡死的老生常谈
WebSocket是HTML5最重要的特性,让网页真正支持双工通信原创 2021-09-15 22:35:01 · 5415 阅读 · 3 评论 -
解决VS2017/2019无法在线升级
打开VS2019更新检测,最后出现无法下载,在这里找到个解决方案,大致分为几步来解决查看aka.ms的ip,这里可以查看https://ip.tool.chinaz.com/,我查出的地址是23.72.68.153把这个地址加到C:\Windows\System32\drivers\etc\hosts如:# Copyright (c) 1993-2009 Microsoft Corp.## This is a sample HOSTS file used by Micros...原创 2021-04-13 15:29:36 · 3671 阅读 · 2 评论 -
关闭后台SignalR改进版
接上一篇,在上一篇里面有个缺陷,等所有SignalR连接都关闭,后台线程才全部终止,这一篇修改一下,每个连接维护他自己的线程,关闭连接就关闭属于他自己的的那个线程using HenryMes.BLL;using Microsoft.AspNet.SignalR;using Microsoft.AspNet.SignalR.Hubs;using System.Threading;using System.Threading.Tasks;using HenryMes.Model;using S原创 2021-03-30 10:21:05 · 478 阅读 · 0 评论 -
JS 模拟表单提交导出Excel
参考https://blog.csdn.net/zhgl7688/article/details/50781791 download(url, data, method) { // 获得url和data if (url && data) { // data 是 string 或者 array/object data =.原创 2021-01-25 11:18:01 · 668 阅读 · 0 评论 -
关闭iframe时同时关闭后台SignalR的定时推送(关闭websocket连接,关闭推送线程)
前台把iframe从内存中清理 var iframe = $('#' + iframeID).prop('contentWindow'); $('#' + iframeID).attr('src', 'about:blank'); try {原创 2020-10-19 10:19:43 · 1126 阅读 · 0 评论 -
什么是委托,理解委托
我自己的比较抽象粗浅的认识是:一个类想执行一个方法,但它本身没有这个方法,这个方法在另一个类中,于是它“委托”那个类来帮它执行 ,接触C#是在两年前了,今天才算对这个概念有个粗浅的认识,惭愧啊!mailmanager类想执行fax类的FaxMsg方法,但是fax类不让执行,所以mailmanager就定义一个 委托MailMsgEventHandel来执行fax类的FaxMsg方法,原创 2007-03-20 22:44:00 · 2248 阅读 · 0 评论 -
学习C#2.0新特性:泛型!
C# 2.0与泛型 在2005年底微软公司正式发布了C# 2.0,与C# 1.x相比,新版本增加了很多新特性,其中最重要的是对泛型的支持。通过泛型,我们可以定义类型安全的数据结构,而无需使用实际的数据类型。这能显著提高性能并得到更高质量的代码。泛型并不是什么新鲜的东西,他在功能上类似于C++的模板,模板多年前就已存在C++上了,并且在C++上有大量成熟应用。本文讨论泛型使用的一般问题,转载 2007-03-20 22:56:00 · 1252 阅读 · 0 评论 -
ArrayList运用方法
System.Collections.ArrayList类是一个特殊的数组。通过添加和删除元素,就可以动态改变数组的长度。一.优点1。支持自动改变大小的功能2。可以灵活的插入元素 3。可以灵活的删除元素二.局限性跟一般的数组比起来,速度上差些三.添加元素1.publicvirtualintAdd(objectvalue);将对象添加到ArrayList的结尾处原创 2007-04-03 23:02:00 · 1393 阅读 · 0 评论 -
ArrayList的使用
1、什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处:动态的增加和减少元素 实现了ICollection和IList接口 灵活的设置数组的大小 2、如何使用ArrayList 最简单的例子:ArrayList List = new ArrayList();for( int i=0;iList.A原创 2007-04-03 23:07:00 · 1489 阅读 · 0 评论 -
遍历ArrayList易犯错误
将ArrayList中符合条件的记录删掉,第一时间写出的程序如下: foreach (string aStr in aList) { if (aStr.Equals(textBox1.Text)) { aList.Remove(aStr);原创 2007-04-03 23:08:00 · 1271 阅读 · 0 评论 -
介绍 .NET Framework 3.0
摘要:3.0 版 Microsoft .NET Framework 采用了大量的最新技术,可以解决当今应用程序开发中的种种难题。 描述 .NET Framework 3.0 应用程序开发的目标始终如一,就是在最短时间内原创 2007-07-02 23:05:00 · 1947 阅读 · 0 评论 -
简单工厂模式(SimpleFactory-C#)
快餐店提供很多食物,比如 面条,米饭,面包。首先定义了一个Food接口,然后这些食物都从它来继承,定义了一个大厨 他包办所有食物的制作工作,这就是我所理解的简单工厂模式的概念,下面是源代码: using System; namespace SimpleFactoryPattern { /**//// /// 简单工厂模式示例 /// class SimpleFactoryPattern {原创 2007-04-12 20:21:00 · 1249 阅读 · 0 评论 -
C#设计模式之简单工厂篇
首先定义一个接口,具体名为Idatabase,在这个接口中,定义好数据库操作的方法名和参数,以及返回值,本案例中我定义如下方法: public interface IDatabase { bool Connect(string ConnectString); bool Open(); bool Command(s原创 2007-04-12 20:23:00 · 1321 阅读 · 0 评论 -
怎样获取一组汉字的拼音首字母(使用C#)
public string GetChineseSpell(string strText) { int len = strText.Length; string myStr = ""; for(int i=0;i{ myStr += getSpell(strText.Substring(i,1)); } return myStr; } public string getSpell(string原创 2007-07-27 21:15:00 · 1466 阅读 · 1 评论 -
vs.net 2005 sp1 安装经验收集
接近1G内存,2G硬盘空间的需求如果在安装过程中有过rollback(例如没有硬盘空间,像我一样),之后运行很多程序报错:0xc0150004请删除%WINDIR%/WinSxS下任何带有 8.0.50727.163 或 8.0.50727.762 数字的文件,重新安装SP1。--------------------快速安装方法在 InfoQ 上面找到了一篇介绍的文章(http:/原创 2007-07-31 22:43:00 · 2409 阅读 · 1 评论 -
编写可移植数据访问层
引言在负责咨询工作的过去 6 年中,我曾多次听说关于数据访问和操作方面的问题,它时刻困扰着用户:“如何编写应用程序,以便只需对其进行很少的改动或不进行改动即可使用数据库服务器 x、y 和 z?”由于知道数据访问层仍然是现代应用程序的最关键部分,并且通常是经验不足的开发人员的头号敌人,因此我的第一反应始终是:根本办不到! 面对着人们惶惶不安的面孔以及“使用 Microsoft 在 AD转载 2007-08-29 18:52:00 · 1246 阅读 · 0 评论 -
网络通讯,基于TCP协议,C#,实现
用C#实现基于TCP协议的网络通讯 TCP协议是一个基本的网络协议,基本上所有的网络服务都是基于TCP协议的,如HTTP,FTP等等,所以要了解网络编程就必须了解基于TCP协议的编程。然而TCP协议是一个庞杂的体系,要彻底的弄清楚它的实现不是一天两天的功夫,所幸的是在.net framework环境下,我们不必要去追究TCP协议底层的实现,一样可以很方便的编写出基于TCP协议进行网络通转载 2007-11-02 15:19:00 · 3403 阅读 · 0 评论 -
C#中Delegate浅析与思考
1. 什么是托管函数 托管函数是一个对类里面的某个函数的一个引用.它自己并没有具体的函数定义,只是指向某个函数实现. 2. 与c++, delphi的横向比较 在c++和delphi中与托管函数对应的类型是函数指针,形式如下: c++ typedef (int getnum)(real rnum); delphi function getnum(rnum:real): integer; exter转载 2007-11-08 17:07:00 · 1057 阅读 · 0 评论 -
windows 2003下安装vs.net 2005 sp1补丁包
您尝试在 Windows Server 2003 或 WindowsXP 中安装大 WindowsInstaller 包或大型 WindowsInstaller 修补程序包时错误信息: " Error 1718。 文件被数字签名策略拒绝 "原因当计算机有连续不足用于 WindowsServer 2003 或 WindowsXP 来验证 .msi 程序包或 .msp 包正确签名发生此问题。his p原创 2007-11-19 19:21:00 · 1936 阅读 · 1 评论 -
NHibernate中Session的处理
NHibernate中Session是线程不安全的,而且每次数据库操 作 请求创建Session时对性能有些影响。在Windows应用中可以通过 [ThreadStatic]特性很简单的就可以实现线程安全,而在Web中可以通过将Session与用于请求HttpContext绑定实现线程安 全,并且用户当前请求时只有一个Session。代码如下:ISessionManage.csusing转载 2007-12-22 22:29:00 · 2978 阅读 · 0 评论 -
DES算法的加密解密类,由于MD5很难解密,自己不方便,所以用这个了
using System;using System.Text;using System.IO;using System.Security.Cryptography;/// /// 字符串加密、解密类,利用DES算法/// public class myEncrypt{ private static byte[] key = new byte[] { 0x01, 0x02, 0x03, 0x0原创 2008-04-01 21:35:00 · 1570 阅读 · 0 评论 -
C#中的反射入门知识教程(转载)
本文主要介绍以下模块:1、 什么是反射2、 命名空间与装配件的关系3、 运行期得到类型信息有什么用4、 如何使用反射获取类型5、 如何根据类型来动态创建对象6、 如何获取方法以及动态调用方法7、 动态创建委托 1、什么是反射 Reflection,中文翻译为反射。 这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)原创 2008-01-15 11:36:00 · 1265 阅读 · 1 评论 -
.net面试题大全(有答案)
<!--google_ad_client = "pub-9628002492933979";google_ad_width = 250;google_ad_height = 250;google_ad_format = "250x250_as";google_ad_type = "image";//2006-11-11: www.aspxclub.comgoogle原创 2008-01-18 09:52:00 · 2892 阅读 · 1 评论 -
c#中的反射代码实例讲解(转载)
1 创建用于反射使用的DLL新建一个C#类库项目,编译生成DLL(假如DLL的文件名是TestReflect.dll),源码如下: using System; namespace Webtest { /**//// /// ReflectTest 的摘要说明。 /// public class ReflectTest { public ReflectTest()转载 2008-01-15 11:41:00 · 1338 阅读 · 1 评论 -
序列化[Serializable]
昨晚研究了一哈序列化问题,以前还以为是什么高深的技术,故此经常是避而不用,避而不谈,现在看来是我错了哦!^_^ 其实在.NET中使用序列化是很简单的事情了,希望我写这点东西,对想研究这个的同胞们一个小小的提示吧!我觉得要掌握序列化问题,至少要明白以下几点: 1、为什么要用序列化?2、序列化有那些属性?3、序列化的过程是什么样的?4、序列化有那些格式?5、怎样保证原创 2008-04-29 22:33:00 · 1332 阅读 · 0 评论 -
如何序列化与反序列化复杂对象
对象序列化技术在大量数据缓存技术中需要用到,但对于复杂对象,如何实现序列化与反序列化呢?下面是我写的一个软件中的部分有关序列化的代码,共享之供大家批评,这里展示的是简单的二进制序列化,复杂的还有自定义XML序列化,但由于本人对XML Schem不太熟悉,不知道如何编写高效的XML序列化,例如:Word可以直接存储为XML格式。 using System;using System.R转载 2008-05-05 16:48:00 · 1990 阅读 · 0 评论 -
c#中高效的excel导入oracle的方法
如何高效的将excel导入到oracle?和前两天的SqlBulkCopy 导入到sqlserver对应,oracle也有自身的方法,只是稍微复杂些.那就是使用oracle的sql*loader功能,而sqlldr只支持类似csv格式的数据,所以要自己把excel转换一下。实现步骤:用com组件读取excel-保存为csv格式-处理最后一个字段为null的情况和表头-根据excel结构建表-生转载 2008-07-29 12:16:00 · 2384 阅读 · 2 评论 -
仿QQ面板的WinForm窗体
仿QQ面板的WinForm窗体 说明:前几天在一个朋友那里看到做得很漂亮的一个企业及时通讯软件,利用C#编写,完全没有利用第三方控件就实现了类似于QQ面板的效果,非常漂亮。 回家之后凭着自己的记忆和查阅MSDN尝试实现了一下,初步实现了类似效果,现在奉献给大家。 在程序中用到了三种控件(不包括窗体类):ImageList、Button和ListView。Button控件显示好友分转载 2008-06-03 14:36:00 · 2189 阅读 · 0 评论 -
ArrayList详解
常用属性说明:1)Capacity::获取或设置ArrayList可包含的元素数2)Count:获取ArrayList中实际包含的元素数3)IsReadOnly:指示ArrayList是否为只读4)Item:获取或设置指定索引处的元素常用方法说明:1)Add/AddRange:将对象添加到ArrayList的结尾处2)BinarySearch:使用二分检索算法在已经排序的ArrayList或其一部原创 2008-10-17 09:48:00 · 1174 阅读 · 0 评论 -
澄清概念:委托---事件---事件处理
委托主要用于保存一个方法的引用,定义一个委托的过程实际上就是创建了一个新类,那么就可以通过new来创建一个委托的实例。示例程序: 1using System; 2using System.Collections.Generic; 3using System.Text; 4 5namespace ConsoleApplication1 6{ 7 public d原创 2008-10-17 09:41:00 · 963 阅读 · 0 评论 -
VS2005(c#)项目调试问题解决方案集锦
1.检测到有潜在危险的 Request.Form 值 原因: (1)在提交数据的页面或webconfig中没有对validateRequest的属性进行正确的设置 (2)HTML里面写了两个 引起 解决: 方案一: 在.aspx文件头中加入这句: 方案二: 修改web.config文件:转载 2008-10-17 09:45:00 · 1313 阅读 · 0 评论 -
联通SGIP协议C#源代码
完整版... SGIP_C#源代码 注: 1、下载后请把sgip.gif的后缀名改为RAR***(作废) 2、数据库设计请在我的blog里面找《联通短信网关(SGIP 1.2) 数据库设计脚本 》 2、 原版的代码请到dzend.com里去下载,这里的代码有修改!! config.xml 配置文件!-转载 2008-10-22 10:45:00 · 8042 阅读 · 13 评论 -
C#验证Email是否真正存在,不是验证邮件格式,是邮件地址是否存在
转自:http://blog.csdn.net/ecitnet/archive/2007/10/06/1813017.aspx在以往的编程中,比如编写用户的资料时,有时需要确认用户输入的Email是否真实有效,以前我们最多只能做到验证Email是否包含了某些特殊的字符,比如"@",".",".com"等,做到的只是判断了Email的合法性,证明用户填写的Email格式是正确的,但是这个Emai转载 2008-10-23 14:56:00 · 5429 阅读 · 2 评论 -
爬虫/蜘蛛程序的制作(C#语言)
问题是对某一网站或所有网站进行抓取,即下载所有网页。怎么实现呢?先将问题最小化(转化的思想,转化为小规模,可以解决的问题):如果只有一个网页,怎么下载?问题变地很简单,只要用WebClient/WebRequest(甚至OpenFileDialog都可以)打开Url地址,将数据流存入本地存储器的文件(以相应的扩展名作为扩展名)即可。示例代码如下:string BoardStream;//下转载 2008-10-25 10:35:00 · 1422 阅读 · 0 评论 -
两分钟用C#搭建IE BHO勾子,窃取密码
如果图片无法显示. 请访问 http://www.horizonideas.com/writings/article.php?id=12授权CSDN, 请在征求同意后转载. 作者: 陈嘉, NetSecure Inc, Canada, 软件工程师微软在1997年正式退出Browser Helper Object (BHO), 使程序员能够更好的对IE进行二次开发和操作. 在通过编写BHO转载 2008-10-11 17:32:00 · 2561 阅读 · 1 评论