.net
@CAPRICA@
人生若只如初见 何事秋风悲画扇
展开
-
DataSet序列化及反序列化
/// <summary> /// 反序列化压缩的DataSet/// </summary> /// <param name="_filePath"></param> /// <returns></returns> static DataSet DataSetDeserializeDecompress( string _filePath){ FileStream fs = File.Ope.原创 2021-01-17 23:09:21 · 550 阅读 · 0 评论 -
XmlDatasetConvert
class XmlDatasetConvert { //将xml对象内容字符串转换为DataSet public static DataSet ConvertXMLToDataSet(string xmlData) { StringReader stream = null; XmlTextReader reader = null; try { .原创 2021-01-17 17:59:43 · 203 阅读 · 0 评论 -
C#正则清理网络字符
public static string NoHTML(string Htmlstring) { //删除脚本 Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreC...原创 2020-02-14 16:34:55 · 234 阅读 · 0 评论 -
禁止直接在Webservice.asmx页面调用的方法
禁止直接在Webservice.asmx页面调用,只允许在aspx页面中调用,只需要判断HttpContext.Current.Request.ServerVariables中HTTP Referer是哪来的就可以了。原创 2016-11-25 08:57:00 · 4566 阅读 · 0 评论 -
C#获取当前应用程序所在路径及环境变量
一、获取当前文件的路径string str1=Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名。 string str2=Environment.CurrentDirectory;//获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。(备注:按照定义,如果该进程在本地或网络驱动器的根目录中启动,转载 2017-01-06 21:41:00 · 539 阅读 · 0 评论 -
C# UDP穿越NAT,UDP打洞,UDP Hole Punching
C#实现UDP穿越NAT程序运行效果图(图一)运行在公网上的服务器程序,用于转发打洞消息.(图二)运行在公网上的测试客户端程序A(图三)运行在NAT网络上的测试客户端程序B(图四) UDP打洞过程状态图***阅读下面代码前请先了解UDP穿越NAT原理***1.服务器主窗体源代码public pa转载 2017-03-12 22:55:09 · 1988 阅读 · 0 评论 -
C# 图像无损压缩
/// /// 图像无损压缩 /// /// 源文件 /// 目标文件 /// 压缩后的高度 /// 压缩后的宽度 /// 压缩比 /// 压缩质量参数,一般可设50 /// public static bool GetPicThum原创 2017-03-31 09:37:58 · 1157 阅读 · 0 评论 -
.net Office PIA 2007
using System;using System.Collections.Generic;using System.Linq;using System.Text;using Word = Microsoft.Office.Interop.Word;using System.Reflection;using System.Diagnostics;using System.Threa转载 2017-03-31 22:27:37 · 672 阅读 · 0 评论 -
C# 反射
前言之所以要写这篇关于C#反射的随笔,起因有两个: 第一个是自己开发的网站需要用到 其次就是没看到这方面比较好的文章。所以下定决心自己写一篇,废话不多说开始进入正题。 前期准备在VS2012中新建一个控制台应用程序(我的命名是ReflectionStudy),这个项目是基于.net 4.0。接着我们打开Program.cs文件,按照如下在转载 2017-03-31 22:45:31 · 394 阅读 · 0 评论 -
C# WinLockDll.dll屏蔽快捷键
[DllImport("WinLockDll.dll", CallingConvention = CallingConvention.StdCall)] public static extern int CtrlAltDel_Enable_Disable(bool bEnableDisable); [DllImport("WinLockDll.dll", Call原创 2017-04-03 00:22:45 · 2068 阅读 · 1 评论 -
C# 5.0 async 和 await
public class MyClass{ public MyClass() { DisplayValue(); //这里不会阻塞 System.Diagnostics.Debug.WriteLine("MyClass() End."); } public Task GetValueAsync(double num1, double num2) { return Task.转载 2017-04-03 00:44:23 · 457 阅读 · 0 评论 -
一分钟学会 log4net(c#) 配置及使用
1. 首先从apache网站下载log4net, http://logging.apache.org/log4net/download_log4net.cgi 。我下的是最新版本 log4net-1.2.11-bin-newkey2. 将 \bin\net\4.0\release\log4net.dll 复制到你的项目中 。3. 将log4net.dll 添加引用到你的项目中。转载 2016-12-28 22:04:02 · 9573 阅读 · 0 评论 -
c#图像处理入门(-bitmap类和图像像素值获取方法)
一.Bitmap类Bitmap对象封装了GDI+中的一个位图,此位图由图形图像及其属性的像素数据组成.因此Bitmap是用于处理由像素数据定义的图像的对象.该类的主要方法和属性如下:1. GetPixel方法和SetPixel方法:获取和设置一个图像的指定像素的颜色.2. PixelFormat属性:返回图像的像素格式.3. Palette属性:获取和设置图像所使用的颜色调色板.转载 2016-12-25 23:22:36 · 1349 阅读 · 0 评论 -
C# 集合
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Collections;namespace 集合{ class Program { static void Main(string[] args)原创 2016-12-25 13:06:52 · 340 阅读 · 0 评论 -
HttpContext.Current.Request.ServerVariables.AllKeys
Request.ServerVariables("Url") 返回服务器地址Value 0: /WebSite1/Default.aspxRequest.ServerVariables("Path_Info") 客户端提供的路径信息Value 0: /WebSite1/Default.aspxRequest.ServerVariables("Appl_Physi转载 2016-11-25 10:17:12 · 781 阅读 · 0 评论 -
ASP.NET能知道的东西
获取服务器电脑名: Page.Server.ManchineName 获取用户信息: Page.User 获取客户端电脑名:Page.Request.UserHostName 获取客户端电脑IP: Page.Request.UserHostAddress1. 在ASP.NET中专用属性: 获取服务器电脑名:Page.Server.ManchineName 获取用户信转载 2016-11-25 11:13:44 · 668 阅读 · 0 评论 -
.net取得客户端真实IP
/// /// 取得客户端真实IP。如果有代理则取第一个非内网地址 /// public static string IPAddress { get { string result = String.Empty;原创 2016-11-25 11:22:44 · 3782 阅读 · 0 评论 -
Newtonsoft.Json.dll
1:Newtonsoft.Json.dll 下载 http://json.codeplex.com/2:解析JSON字符串using Newtonsoft.Json;using System.Text;StringBuilder sb = new StringBuilder(); string str = "[{ID:'1',Name:'Jo转载 2016-11-27 22:26:41 · 3037 阅读 · 0 评论 -
CuteWebUI.AjaxUploader的上传问题
CuteWebUI.AjaxUploader的手动上传,做项目的时候用到了,网上没查到,琢磨了一下是这样的 aspx <CuteWebUI:UploadAttachments InsertText="选择附件上传" runat="server" ID="Attachments1" MultipleFilesUpload="tru原创 2014-03-15 18:24:43 · 3346 阅读 · 0 评论 -
C#正则表达式之Regex类用法详解
正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串,正则表达式无疑是处理文本最有力的工具,而.NET提供的Regex类实现了验证正则表达式的方法。Regex 类表示不可变(只读)的正则表达式。它还包含各种静态方法,允许在不显式创建其他类的实例的情况下使用其他正则表达式类。正则表达式基础概述什么是正则表达式 在编写字符串的处理程序时,经常会有查找符合某些转载 2016-12-09 21:01:58 · 2755 阅读 · 2 评论 -
C# Hashtable 使用说明 以及 Hashtable和HashMap的区别
一,哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何转载 2016-12-25 11:48:15 · 3326 阅读 · 0 评论 -
c#中泛型集合directory和java中map集合对比
c#中directory的基本用法1、创建及初始化 Dictionaryint, string> myDictionary = new Dictionaryint, string>(); 2、添加元素 myDictionary.Add("C#",0); myDictionary.Add("C++",1); myDictionary.A转载 2016-12-25 13:10:48 · 1849 阅读 · 0 评论 -
C# lock(this)
这里不考虑分布式或者多台负载均衡的情况只考虑单台机器,多台服务器可以使用分布式锁。出于线程安全的原因,很多种场景大家可能看代码中看到lock的出现,尤其是在资金类的处理环节。 但是lock(this)真的达到你的需求了吗?下面用实例来说明 理论常识不多说,回到业务场景,举个例子我们的需求一般就是在某个订单进入某个安全优先级比较高的流程时要针对这笔订单做到线程互斥。至于原因,这里再插一个概转载 2017-04-03 22:19:05 · 7468 阅读 · 0 评论 -
.NET 环境中使用RabbitMQ
在企业应用系统领域,会面对不同系统之间的通信、集成与整合,尤其当面临异构系统时,这种分布式的调用与通信变得越发重要。其次,系统中一般会有很多对实时性要求不高的但是执行起来比较较耗时的地方,比如发送短信,邮件提醒,更新文章阅读计数,记录用户操作日志等等,如果实时处理的话,在用户访问量比较大的情况下,对系统压力比较大。面对这些问题,我们一般会将这些请求,放在消息队列中处理;异构系统之间使用消息转载 2017-04-29 21:25:24 · 537 阅读 · 0 评论 -
Ninject XML配置
摘要使用XML配置,需要添加Ninject XML扩展的引用。下一步是添加一个或多个包含类型注册的XML文件。记得这些文件应该跟应用程序一起发布。因此不要忘记将XML文件的属性设置成“Copy if newer”。 XML配置文件像下面的配置一样:<module name="moduleName"> <bind service="Namespace.IS...转载 2018-07-25 13:48:23 · 381 阅读 · 0 评论 -
Mouse_event()
用Mouse_event()来控制鼠标操作在自动化测试的开发中,有一些控件的ID是很难找到的,所以有些时候,我们直接设置鼠标的位置,然后是用click事件,会收到很好的效果。在Windows API中有个mouse_event函数为我们准备好了这一切。这个函数在user32.dll这个库文件里面。我们可以在C:/WINDOWS/system32(XP系统)这个目录下找到这个文件,他是系统自...转载 2018-12-10 17:42:22 · 3542 阅读 · 0 评论 -
keybd_event()
模拟按键操作常用的方式有俩种:使用winio模拟键盘硬件扫描码;使用keybd_event函数。第一种可能相对复杂,所以我并没有使用,不过想要弄明白它的原理,可以参考这篇文章:WinIo驱动级键盘模拟编程因为我使用的第二种,所以我重点记录第二种怎么用。 Windows提供了一个模拟键盘API函数Keybd_event(),该函数可以合成一次击键事件,系统可以使用这种合成的击键事件来...转载 2018-12-10 18:10:40 · 4434 阅读 · 0 评论 -
如何在ashx页面获取Session值
1、引入 命名空间:using System.Web.SessionState;2、实现IRequiresSessionState接口转载 2019-01-14 08:30:21 · 384 阅读 · 0 评论 -
表单直接传文件
上传控件用着心烦,其实直接表单传就行,简单易行1、首先form这么写 <form action="WebService.asmx/FileUpload" method="post" enctype="multipart/form-data">WebService.asmx/FileUpload是你的上传接口,我这里用的是WebService,注意方法不能有参数,否则会报错...原创 2019-01-20 22:20:22 · 292 阅读 · 0 评论 -
.net PlaceHolder动态添加Button
<asp:PlaceHolder ID="ph" runat="server"></asp:PlaceHolder> Button btn = new Button(); 设置 btn.ID btn.Text btn.CssClassbtn.OnClientClick 前端事件btn.Click += button_Click...原创 2019-04-03 16:27:25 · 398 阅读 · 0 评论 -
使用C#调用windows API
使用C#调用windows API(从其它地方总结来的,以备查询)C#调用windows API也可以叫做C#如何直接调用非托管代码,通常有2种方法:1. 直接调用从 DLL 导出的函数。2. 调用 COM 对象上的接口方法我主要讨论从dll中导出函数,基本步骤如下:1.使用 C# 关键字static和extern声明方法。2.将DllImport属性附加到...转载 2019-06-10 14:06:52 · 8416 阅读 · 1 评论 -
C#非法字符检测
/// <summary> /// 检测是否有Sql危险字符 /// </summary> /// <param name="str">要判断字符串</param> /// <returns>判断结果</returns> public stati...转载 2019-06-11 22:33:17 · 1846 阅读 · 0 评论 -
体验ASP.NET MVC5之一
玩了一天,参考了Adam Freeman的书,总结一下,以备后来查看。1、创建一个ASP.NET Web Application ——MVC 选择空模板MVC 三个文件夹功能很清晰 Models Views Controllers2、使用NuGet安装bootstrap,EntityFramework,Ninject......NuGet很好用,可以可视化操作,比maven方便,下载速度也很快...原创 2018-07-07 22:21:44 · 433 阅读 · 0 评论 -
Linq查询操作符
·First - 返回集合中的第一个元素;不延迟 ·FirstOrDefault - 返回集合中的第一个元素(如果没有则返回默认值);不延迟 ·Last - 返回集合中的最后一个元素;不延迟 ·LastOrDefault - 返回集合中的最后一个元素(如果没有则返回默认值) ·ElementAt - 返回集合中指定索引的元素;不延迟 ...转载 2018-07-08 16:52:02 · 247 阅读 · 0 评论 -
C#Windows服务
关于WIndows服务的介绍,之前写过一篇:http://blog.csdn.net/yysyangyangyangshan/article/details/7295739。可能这里对如何写一个服务不是很详细。现在纯用代码的形式介绍一下windows服务是如何开发和安装的。开发环境:Win7 32位;工具:visualstudio2010。因为win7自带的就有.net环境,算是偷一下懒吧转载 2017-07-03 09:30:01 · 420 阅读 · 0 评论 -
C# 多个TcpClient 的区分处理
服务端接受多个TcpClient 请求时可以通过对其编号区分每一个TcpClient 对象。比如自定义 public static Dictionary dict = new Dictionary();一个TcpClient给一个IDdict.Add(clientId, client);这样处理时就可以区分每个TcpClient NetworkStream d原创 2017-04-02 23:27:19 · 2495 阅读 · 0 评论 -
C# 服务器,客户端 1:N模式
服务器RemoteClientusing System;using System.Net.Sockets;using System.Text;using System.Linq;namespace Server{ class RemoteClient { private TcpClient client; private Networ原创 2017-04-15 23:02:47 · 753 阅读 · 0 评论 -
LINQ To SQL 语法及实例大全
LINQ to SQL语句(1)之Where Where操作 适用场景:实现过滤,查询等功能。 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句。 Where操作包括3种形式,分别为简单形式、关系条件形式、First()形式。下面分别用实例举例下: 1.简单形式转载 2017-04-16 16:12:30 · 1057 阅读 · 0 评论 -
30 min about LINQ
在说LINQ之前必须先说说几个重要的C#语言特性一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前, 我们在声明一个变量的时候, 总是要为一个变量指定他的类型 甚至在foreach一个集合的时候, 也要为遍历的集合的元素,指定变量的类型转载 2017-04-16 16:08:47 · 396 阅读 · 0 评论 -
通过反射动态加载DLL
BaseInterface.dllnamespace BaseInterface{ public interface Test { string TestImpl(); }}TestClass1.dllusing BaseInterface;namespace TestClass1{ public class TestCla原创 2017-07-08 18:31:03 · 1592 阅读 · 0 评论