- 博客(36)
- 资源 (35)
- 收藏
- 关注
转载 C# TcpListener的TCP通讯
Socket的TCP通讯一、 socket的通讯原理服务器端的步骤如下。(1)建立服务器端的Socket,开始侦听整个网络中的连接请求。(2)当检测到来自客户端的连接请求时,向客户端发送收到连接请求的信息,并建立与客户端之间的连接。(3)当完成通信后,服务器关闭与客户端的Socket连接。客户端的步骤如下。(1)建立客户端的Socket,确定要连接的服务器的主机名和端口。(2)发送连接请求到服务器...
2018-05-31 09:23:29 11823 3
转载 TcpClient类异步接收数据
构造函数属性主要方法流程TcpClient读取数据过程TcpClient连接TcpClient已经连接上NetworkStream读取NetworkStream已经读取完毕取出数据TcpClient发送数据流程TcpClient线程NetworkStream异步发送线程实例TcpClient连接NetworkStream异步读取NetworkStream读取处理NetworkStream发送Tcp...
2018-05-30 17:33:20 1863
转载 控制threadpool執行緒的順序啟動 - WaitHandle.WaitAll 方法
[C#.NET][Thread] 執行緒的順序啟動 - WaitHandle.WaitAll 方法WaitHandle.WaitAll 跟Thread.Join很像,都是執行緒等待,在功能上就是執行緒的順序啟動,如同我之前寫過的 [Thread] 執行緒的順序啟動 - Thread.Join方法,實作過程很簡單只需要注意以下兩點1.WaitHandle是一個抽像類別所以我們得實體化它的子類別,也就...
2018-05-30 09:45:07 948
转载 多线程之异步操作
专用线程计算限制的异步操作CLR线程池,管理线程Task协作式取消Timerawait与async关键字IO限制的异步操作Windows的异步IOAPM(APM与Task)EAP 专用线程当初学习多线程编程的时候,第一步就是怎么去开一条新的线程,就是new一个Thread的实例,在Jreffy的书中,这种线程称作为专用线程。它与线程池中的线程区别开来。虽然然前后两者都是Thread类的对象,但...
2018-05-28 17:44:20 2170
转载 异步和多线程关系
异步:为了压榨CPU的处理能力,避免阻塞,CPU不去等待比较耗时的IO或者其他耗时的非计算密集型的操作,使得CPU可以自顾自个的去处理事情。IO操作完成之后会回调或者CPU主动获取结果,然后处理接下来的操作。举个例子,CPU发出烧水指令,让电热壶(其他硬件)去烧水,CPU然后去干其他事,并没有等待水烧开之后再去干其他事情,当电热壶把水烧开之后通知CPU或者CPU会监控电热壶水是否烧开,然后CPU把...
2018-05-28 17:40:03 565
转载 C#多线程之线程池篇1
在C#多线程之线程池篇中,我们将学习多线程访问共享资源的一些通用的技术,我们将学习到以下知识点:在线程池中调用委托在线程池中执行异步操作线程池和并行度实现取消选项使用等待句柄和超时使用计时器使用BackgroundWorker组件 在前面的“C#多线程之基础篇”以及“C#多线程之线程同步篇”中,我们学习了如何创建线程以及如何使用多线程协同工作,在这一篇中,我们将学习另外一种场景,就是我们需要...
2018-05-28 17:22:49 568
转载 彻底停止运行线程池ThreadPoolExecutor
最近系统开发时遇到这样一个需求:该功能执行时间很久,如果运行过程出现错误,也无法将其停止,必须眼睁睁的看着它浪费很久时间,除非停止服务器。于是,我就想着如何给该功能加上一个“停止”的功能呢?经过不断的思考和测试,发现思路如此简单,直接上代码![java] view plain copypackage com.iamzken.test; import java.util.ArrayList; ...
2018-05-28 17:16:07 4004 1
转载 线程池,千万注意,原来很多人都在错用
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行。[C#线程池]场景:以下是C# winform写的一个线程池示例程序。窗体上,分别拖放一个开始和停止按钮,单击开始按钮,for寻觅模拟7000个任务队列,在线程池运行过程中,可以点击停止按钮,来结束线程池所有任务,这里借助Cancell...
2018-05-28 17:03:57 2557
转载 C# ThreadPool简单用法
最近在复习一些C#的基础知识,有一个比较有意思的多线程的基础,markdown下来,以便学习。 C#中的多线程方式有很多种,其中一个比较简单好用的就是ThreadPool。MSDN中对ThreadPool的描述是:提供一个线程池,该线程池可用于执行任务、发送工作项、处理异步 I/O、代表其他线程等待以及处理计时器。 我个人的理解ThreadPool就是一个托管的线程队列,当你需要的时候,将一个方法...
2018-05-28 16:57:52 3248
转载 threadPool简单应用
在需要创建的线程很多,且都是比较小的线程的情况下,可以使用线程池(ThreadPool类)。ThreadPool是一个静态方法,提供了对一个线程集合的操作,它会在线程数不足时增加线程,空闲线程数过多时释放资源。 1、ThreadPool简单应用调用ThreadPool.QueueUserWorkItem()方法,传递一个WaitCallBack委托类型的方法,并把这个方分配给线程池中的线程。线程池...
2018-05-28 16:21:44 639
转载 DICOM:DICOM开源库多线程分析之“LF_ThreadPool in DCM4CHEE”
题记:临近农历年关(对国人来说,这个才叫新年嘛),工作琐事较多,因此本月发博数量锐减至①篇。虽不以博文数量为目标,但每月一篇的数量还是说不过去。博文数量锐减,总结下来有两个原因:第一,近期在花时间对比分析DICOM各大开源库中使用的各种线程池技术,诸如fo-dicom中的ThreadPoolQueue、ThreadPool,dcm4chee中的LF_ThreadPool、newCachedThre...
2018-05-28 16:01:41 216
转载 C#中的委托和事件 - Part.1 讲的很好
C#中的委托和事件 - Part.12007-9-23 分类: C# 语言注意:文中代码在VS2005下通过,由于VS2003(.Net Framework 1.1)不支持隐式的委托变量,所以如果在一个接受委托类型的位置直接赋予方法名,在VS2003下会报错,解决办法是显式的创建一个委托类型的实例(委托变量)。例如:委托类型 委托实例 = new 委托类型(方法名);1. 引言委托 和 事件在 ....
2018-05-28 10:57:59 216
转载 AccessDatabaseEngine 2007 Office system 驱动程序:数据连接组件
AccessDatabaseEngine2007 Office system 驱动程序:数据连接组件此下载将安装一组组件,非 Microsoft Office 应用程序可以使用它们从 2007 Office system 文件中读取数据,例如从 Microsoft Office Access 2007(mdb 和 accdb)文件以及 Microsoft Office Excel 2007(xls...
2018-05-24 17:36:14 8282
转载 DICOM3.0标准中的通讯服务模块
背景: 最近在做关于PACS终端与RIS系统之间进行worklist查询的相关调试工作,因此又重新对DICOM3.0标准中关于网络传输的部分进行了阅读,在此将本周的工作进行一下总结,以加深对DICOM3.0标准的认识,从底层更加清晰的了解worklist查询、C-STORE、C-FIND等各种服务。要点:1)名词简称 该部分中会出现很多的常见名词的缩写,因此为了更好的理...
2018-05-24 17:10:19 804
原创 自己写的windows服务启动不了有可能是下面原因
自己做的服务启动遇到问题:解决方法如下1. 使用管理员权限注册和运行2.检查服务中是否有使用其他COM组件等,需要注册这些COM组件如果都不是以上问题,请查看其他,谢谢...
2018-05-24 16:32:07 4285
转载 c#应用程序使用log4net组建输出不了日志问题的解决
按网络资料,在C# winform应用程序中使用log4net组建输出日志。1、引用log4net.dll2、在AssemblyInfo.cs中增加[assembly: log4net.Config.XmlConfigurator(Watch = true)],如果log4net的配置在另外独立的log4net.config文件中,则在AssemblyInfo.cs中增加[assembly: lo...
2018-05-23 17:49:20 1781
转载 C#工程 平台和目标平台区别
最后还是自己搞明白了。那个活动的,“活动”的意思是,指的是整个的solution的一个配置。包括VS工具栏中的那个配置管理器中现在活动的,这两个地方是一致的。有人就要我,我如果单个的现在去编译一个项目,跟整个的solution的配置有关系吗?回答是没有关系。这时候你目标平台设置的是64位,编译出来的就是64位。但是有人会问,那么为什么会让一个solution有一个整体的配置呢?这个就涉及到了项目间...
2018-05-23 14:56:44 2840
原创 C# UDP Server&Client
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.F...
2018-05-22 17:18:07 6188
转载 触发器问题(怎样在一个数据库中的触发器中访问另一个数据库里面的表呢)
--如果两个库在同一个sql实例中 select * from 另一库.dbo.表 --如果两个库在不同的sql实例中 select * from openrowset('sqloledb','另一sql实例名';'sa';'111',另一库.dbo.表) --访问不同电脑上的数据库(远程只要联好网就一样) ...
2018-05-22 14:02:02 2714
转载 C# Udp 通信
[csharp] view plain copyusing System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System....
2018-05-21 17:55:53 1495
转载 .net reactor Strong Name Key Pair File - 强签名程序集
安装了.net reactor之后,可以在安装目录下找到帮助文档REACTOR_HELP.chm,目前没有中文版本,里面详细介绍了.net reactor的各功能及使用场景。本系列文章是基于此帮助文档来写的。.net reactor主要有三大面板:菜单面板:- 文件就是普通的创建操作环境,打开操作环境,加载程序集等操作- 运行保护程序集 - 对当前选中的程序集执行保护操作创建许可证文件 - 根据用...
2018-05-21 16:00:25 4100
转载 【.Net】exe加密/加壳工具.Net Reactor
用WPF开发的桌面应用,编译后得到的项目启动项exe文件是未加密的,使用ILSpy等反编译工具能够直接看到该exe内的文件源码!如下图:可以使用.Net Reactor(有破/解版)等工具对exe文件进行加密。官网 http://www.eziriz.com/dotnet_reactor.htm使用教程 http://www.liangshunet.com/ca/201404/934148462....
2018-05-18 16:13:38 5592
转载 C# 操作ACCESS数据库
在BETA2中,。NET提供了以下的NAMESPACE:System.Data NamespaceSystem.Data.OleDb (和BETA1中已经不同了,所以如果拿BETA1中的程序到BETA2中来运行肯定不可以的)如果想讲清楚这些东西,我不认为是我可以作到的,所以我想通过一些具体的程序来把我们对数据库的最基本的操作(SELECT、UPDATE、DELETE、INSERT等)演示一下,其他...
2018-05-18 10:32:56 206
原创 SQL分组取每组前一(或几)条记录(排名)
比如:星期 字母星期一 A星期二 B星期二 A星期三 C星期三 B我要找出每个星期号中字母最大的那行。星期一 A 星期二 B星期三 C请问sql怎么做? select 星期,字母from(select rank() over(partition by 星期 order by 字母 desc) id,*from 表) t1where id=1 或者123select 星期,max(字母)from 表...
2018-05-15 15:24:15 2165
转载 JSON 序列化和反序列化
这篇文章中,我们将会学到如何使用C#,来序列化对象成为Json格式的数据,以及如何反序列化Json数据到对象。首先,解释一下json Json【javascript对象表示方法】,它是一个轻量级的数据交换格式,我们可以很简单的来读取和写它,并且它很容易被计算机转化和生成,它是完全独立于语言的。Json支持下面两种数据结构:键值对的集合--各种不同的编程语言,都支持这种数据结构;有序的列表类型值的集...
2018-05-14 13:11:44 720
转载 大数据sqlserver数据库表数据迁移
今天真汗颜啊。。。。由于我的一不小心,我把几百万条数据给删了,囧。客户的几年重要数据就这样没了,我当时愁的,还好后来找回来了。对于大数据的操作,大家一定要慎重操作。 在SQLServer2005中,想从一个数据库服务器迁移一个数据表的数据到另一数据库服务器的表中,大家一般会怎么做呢? 我先来说说我今天的做法:(因为自己的笔记本上没有装软件,不能截图给大家看了,大家可以自己动手操作下) ...
2018-05-11 15:52:17 6144 2
转载 Oracle中用Exp命令导出指定用户下的部分表或数据
导读:Oracle中,除Exp命令可进行一般的全库、全用户导出外,还可通过增加相关参数条件实现对部分库表或数据的导出。测试环境在如下图的测试环境中,当前登录用户名为“jck”,该用户下有200多张表(如下图)用Exp导出指定表(如上图红线框中的表)的全部数据exp jck/password file=d:\test.dmp statistics=none TABLES=(JSEBOTEST,NEW...
2018-05-11 14:57:41 20421
转载 推荐.Net、C# 逆向反编译四大工具利器
在项目开发过程中,估计也有人和我遇到过同样的经历:运行环境出现了重大Bug亟需解决、或者由于电脑挂了、旧代码覆盖新代码,而在这种情况下,我们不能直接在当前的代码中修改这个Bug然后发布,这会导致更严重的问题,因为相当于版本回退了。还有电脑挂了代码整个都没有,这种情况下 我们只能只能利用一些逆向的技巧和工具了 来解析在服务器发布好的dll。那么你只是单纯的修改一个.Net程序集中的某个方法或功能,而...
2018-05-11 14:10:11 1604
转载 dicom网络传输
景: 专栏取名为DICOM医学图像处理原因是:博主是从医学图像处理算法研究时开始接触DICOM协议的。当初认识有局限性,认为DICOM只是一个简单的文件格式约定,简而言之,我当时认为DICOM协议就是扩展名为DCM文件的格式说明。其实不然,随着对医疗行业的深入,对DICOM协议也有了更全面的认识。而今才发现DCM文件只是DICOM协议一部分中的一小节,仅仅是整个协议中的一个数据结构,...
2018-05-10 13:48:41 2102
原创 一个带游标的存储过程例子
--创建存储过程 CopyBaseDict_T IF EXISTS(SELECT * FROM sys.objects WHERE type='p' AND name='CopyBaseDict_T') DROP PROC CopyBaseDict_T GO CREATE PROC [dbo].[CopyBaseDict_T]@CLASSID int,@CLASSNAME varchar...
2018-05-10 10:41:50 1320
转载 oracle 触发器,当一个表更新或插入时将数据同步至另个库中的某个表中
有两个表分别是 A用户下的 T_SRC_WEATHER_TSPG字段如图,B用户下的t_src_weather 表,如图:要求,当A用户下的T_SRC_WEATHER_TSPG表有插入或者更新数据时,同时将数据同步至B用户下的t_src_weather表中,创建触发器,sql语句如下: CREATE OR REPLACE TRIGGER weather_history_update -- we...
2018-05-09 16:45:16 13812
转载 Oracle ORA-01033: ORACLE initialization or shutdown in progress 错误解决办法
今早刚上班、客户打电话过来说系统访问不了,输入用户名、用户号不能加载出来!听到这个问题,第一时间想到的是不是服务器重新启动了,Oracle数据库的相关服务没有启动的原因、查看服务的时候,发现相关的服务都是启动的状态。第二想法就是查看的程序配置文件是否被修改过、也没有异常;第三个就是用PL/SQL连接Oracle数据库,输入登录名和密码后,提示如下错误:ora-01033:oracle initia...
2018-05-09 10:30:49 408
原创 oracle服务端如何删除一个表空间
Oracle数据库在逻辑上将数据存储在表空间中,在物理上将数据存储在数据文件中。表空间分为:永久表空间、undo表空间和临时表空间。工具/原料Oracle 11gPLSQL创建、修改、删除表空间1--创建永久表空间create tablespace userSpace --表空间名称datafile 'C:\app\yeduanqiao\oradata\dbname\useSpacer.dbf'...
2018-05-09 09:22:42 626
原创 oracle触发器
create or replace trigger InsertAISyn after update ON REQ_PROC FOR EACH ROWDECLAREOLDSTATUS VARCHAR2(64);NEWSTATUS VARCHAR2(64);STUDYUID VARCHAR2(64);STUDYID VARCHAR2(64);PATIENTID VARCHAR2(64);M...
2018-05-07 11:36:40 147
原创 触发器,存储过程,视图创建
触发器的语法:?123456create [or replace] tigger 触发器名 触发时间 触发事件 on 表名 [for each row] begin pl/sql语句 end存储过程语法:语法: 1 CREATE PROC [ EDURE ] procedure_name [ ; number ] 2 [ { @parameter data_type } 3 ...
2018-05-07 09:58:50 695
原创 sql table2作为table1的条件查询
-- table2 的 name 作为 table1的条件select * from table1 where name in (select name from table2) --如果有多条语句,可以使用字段相加再等于select * from table1 where fld1+fld2 in (select fld1+fld2 from table2) --也可以使用INNER JOIN ...
2018-05-03 16:42:01 587 1
ListControl
2014-11-14
实现文件拖放的一种简洁方法
2014-07-25
使用MSScriptControl公式计算
2018-09-26
Udp—Socket
2018-05-22
dsoframer.ocx
2017-10-23
webservice post get
2017-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人