随笔分类 -  C#

摘要:可以说新手使用P-INVOKE最开始的头疼就是C#和C++的字符串传递,因为这里涉及到两个问题。第一:C#的string和C++的字符串首指针如何对应。第二:字符串还有ANSI和UNICODE(宽字符串)之分。本文分三部分阐述:第一:字符串指针当输入参数,第二:字符串指针作为返回值,第三:字符串指针... 阅读全文
posted @ 2014-08-19 17:33 一修先生 阅读(416) 评论(0) 推荐(0)
摘要:1 /// <summary> 2 /// 本地时间转成GMT时间 3 /// </summary> 4 public static string ToGMTString(DateTime dt) 5 { 6 return dt.ToUniversalTime().ToString("r"); 7 } string s = ToGMTString(DateTime.Now);//本地时间为:2011-9-29 15:04:39//转换后的时间为:Thu, 29 Sep 2011 07:04:39 GMT/// <summary> /// 阅读全文
posted @ 2013-01-14 16:44 一修先生 阅读(6473) 评论(0) 推荐(1)
摘要:C#中主要用的是DateTime的ToString()方法,该方法有6次重载,这里主要用的是ToString(string format)关于format的说明:格式字符 关联属性/说明 d ShortDatePattern D LongDatePattern f 完整日期和时间(长日期和短时间) F FullDateTimePattern(长日期和长时间) g 常规(短日期和短时间) G 常规(短日期和长时间) m、M MonthDayPattern r、R RFC1123Pattern s 使用当地时间的 SortableDateTimePattern(基于 ISO 86... 阅读全文
posted @ 2013-01-14 16:39 一修先生 阅读(1349) 评论(0) 推荐(0)
摘要:最近在做第三方支付,用到了ISO8583包,因为有些域需要特定的格式,所以把常用的都搬过来了,以备不时之需,知识是无限的,大脑也是无限的。C货币2.5.ToString("C")¥2.50D十进制数25.ToString("D5")00025E科学型25000.ToString("E")2.500000E+005F固定点25.ToString("F2")25.00G常规2.5.ToString("G")2.5N数字2500000.ToString("N")2,500,000. 阅读全文
posted @ 2012-12-12 16:18 一修先生 阅读(43032) 评论(1) 推荐(4)
摘要:.NET UrlEncode方法编码的字符串结果都是小写字母,为了在winform中使用该方法,而不去引用多余的程序集,比如system.web等等,故将此方法提取出来稍作修改,这样编码后的字符串结果所有字母就是大写的了。如下~分享之。。效率应该比外面流传的要快一些吧public static string UrlEncode( string str ) { return UrlEncode( str, System.Text.Encoding.UTF8 ); } public static string UrlEncode( string s... 阅读全文
posted @ 2012-05-23 16:03 一修先生 阅读(3355) 评论(1) 推荐(0)
摘要:很莫名其妙的exception message...调用WebBrowser控件中的JS脚本使用这个函数来调用:WebBrowser.Document.InvokeScript("函数名",参数列表);但是下午遇到一个很棘手的问题,就是调用的时候会抛出这样一个莫名其妙的异常: 未处理 System.InvalidCastException Message="指定的转换无效。" Source="System.Windows.Forms" StackTrace: 在 System.Windows.Forms.UnsafeNativeMet 阅读全文
posted @ 2012-04-17 10:25 一修先生 阅读(10986) 评论(2) 推荐(1)
摘要:前段时间用.net写了一个win服务,用来作Http并发请求,但发现请求数达到一定数量就停止了,剩余的并发请求出现了很多超时情况。查了资料发现,原来Httpwebrequest有一个默认连接数限制。win2003默认10个,一般个人操作系统2个。要想增加并发请求,必须修改Http的连接数。有两种方法可以修改:1,在代码中修改:ServicePointManager.DefaultConnectionLimit=100//把最大连接数改为1002,在配置文件中修改:<configuration><system.net><connectionManagement> 阅读全文
posted @ 2012-04-11 17:03 一修先生 阅读(5149) 评论(0) 推荐(1)
摘要:在Http协议中,规定了同个Http请求的并发连接数最大为2. 这个数值,可谓是太小了。而目前的浏览器,已基本不再遵循这个限制,但是Dot Net平台上的 System.Net 还是默认遵循了这个标准的。从而造成了,在使用HttpWebRequset 或者 WebClient 利用多线程的方式,访问某个网站时,经常出现 连接被异常关闭 的错误,大大降低了效率。这个限制的值,是可以自己设置或配置的。System.Net.ServicePointManager.DefaultConnectionLimit 就是设置的地方。 可以根据实际情况,来设置这个值的大小,不过,建议不要超过1024,推荐为5 阅读全文
posted @ 2012-04-11 16:33 一修先生 阅读(16702) 评论(0) 推荐(3)
摘要:随着REST风格的流行,直接通过 HttpWebRequest 进行服务调用的客户端应用越来越多。这里总结一些可能需要费时调查的经验,希望能帮助大家。 1. 用完的HttpWebRequest要Abort()或者要把 Response.Close() 否则会导致请求Timeout。 (HttpWebRequest.Method默认是GET)[c-sharp] view plain copy print ? static void Main( string []args) { for ( int i=0;i<10;i++) { Console.Write( "[{0}]Reque 阅读全文
posted @ 2012-04-11 16:32 一修先生 阅读(12451) 评论(1) 推荐(0)
摘要:找了很多,只有这个是正确的做法。。要开发一个网站,为了布署方便,想使用Sqlite,于是先做个demo试试,本机运行正常了,然后放到服务器上试,出现问题了“指定的存储区提供程序在配置中找不到,或者无效。”----> "找不请求的.Net Framework数据提供程序。可能没有安装”。原文是英文,大概是这意思,于是搜了一下,找到这篇文章: http://blog.csdn.net/liufan76/archive/2008/10/29/3173282.aspx赶紧按方法做,加上这段代码到web.config中:< system.data > < DbProvi 阅读全文
posted @ 2012-04-09 17:00 一修先生 阅读(3175) 评论(7) 推荐(0)
摘要:[DllImport("psapi.dll")]public static extern bool EmptyWorkingSet(IntPtr hProcess);public FreeMem(string programName){ EmptyWorkingSet(Process.GetCurrentProcess().Handle); foreach(Process process in Process.GetProcesses(programName)) { try { EmptyW... 阅读全文
posted @ 2012-03-30 15:28 一修先生 阅读(904) 评论(0) 推荐(0)
摘要:ref:http://blog.csdn.net/qiaozhiwei/article/details/5014664最近使用东日那个换肤控件,在资源文件中加入了几个默认皮肤,不想每次新建项目都要重复操作,于是把它做成一个模版。上面引用的地址介绍的是手动操作方法,其实挺麻烦的。这里演示一下在VS中自动操作的步骤吧:1、新建生成项目(需要设置为模版的项目)2、 在“文件”菜单中选择“导出模板”。确保选中“项目模板”,单击“下一步”,然后单击“完成”创建模板。3、说明:模版说明要是输入中文,会提示ZIP文件名非法云云。可以忽略。不过完成之后最好在用户模版文件夹中把它的名字改成英文。 自动导入,.. 阅读全文
posted @ 2012-02-28 17:30 一修先生 阅读(23583) 评论(1) 推荐(2)
摘要:数据库连接字符串:serve=localhost。。。。。。。。。。。。排除未开启DTC服务等等各种可能原因,就剩下hosts文件被修改这个原因了。。本人下载的去广告版迅雷把hosts文件给修改了,导致提示如上错误,重新恢复一下hosts文件就连接成功了。记录分享之。 阅读全文
posted @ 2012-02-20 17:39 一修先生 阅读(2029) 评论(0) 推荐(0)
摘要:此地http://www.cnblogs.com/xiaoqi/archive/2011/01/24/1942880.html的博文,加上数据库,用entity framework稍作修改分享之。实体模型如下图:DBUserAuthorizeAttribute.cs如下DBUserAuthorizeAttribute.cs 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Mvc; 6 7 namespac... 阅读全文
posted @ 2012-02-20 16:18 一修先生 阅读(630) 评论(0) 推荐(0)
摘要:官方提供的下载中包含有详尽的说明文档。http://logging.apache.org/log4net/download_log4net.cgi需要提示的是如何在自己的WEB或者Winform项目中调用,以节约各位的时间。其实很简单,只要在:AssemblyInfo.cs中插入如下代码,即可成功调用//log4net.config 是配置文件的名称,可以自行设置//Watch 是表示在程序运行期间是否监视该配置文件的变动[assembly: log4net.Config.XmlConfigurator( ConfigFile = "bin\\log4net.config" 阅读全文
posted @ 2012-02-13 17:33 一修先生 阅读(3212) 评论(0) 推荐(0)
摘要:匹配中文字符的正则表达式: [\u4e00-\u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了匹配双字节字符(包括汉字在内):[^\x00-\xff]评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)匹配空白行的正则表达式:\n\s*\r评注:可以用来删除空白行匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? />评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力匹配首尾空白字符的正则表达式:^\s*|\s*$评注:可以用来删除行首行尾的空白 阅读全文
posted @ 2012-02-03 17:22 一修先生 阅读(209) 评论(0) 推荐(0)
摘要:目录跳过目录 本文目标 如何使用本教程 正则表达式到底是什么东西? 入门 测试正则表达式 元字符 字符转义 重复 字符类 分枝条件 反义 分组 后向引用 零宽断言 负向零宽断言 注释 贪婪与懒惰 处理选项 ... 阅读全文
posted @ 2012-01-31 17:13 一修先生 阅读(724) 评论(1) 推荐(0)
摘要:一般来说,将WebBrowser控件ScriptErrorsSuppressed 设置为True,可禁止弹出脚本错误对话框,ScriptErrorsSuppressed属性是对其基础COM控件的Silent属性的封装,因此设置ScriptErrorsSuppressed属性和设置其基础COM控件的Slient属性是效果一样的,这一点通过反编译System.Windows.Forms程序集可以证实。不过要注意的是:ScriptErrorsSuppressed 设置为True会禁用所有的对话框,比如提示Activex下载、执行以及安全登录等对话框。如果不想禁止除脚本错误之外的对话框,请使用MSDN 阅读全文
posted @ 2011-08-17 11:32 一修先生 阅读(419) 评论(0) 推荐(0)
摘要:最近越来越懒,以免将来忘记了,记录之。把代码贴上了,忽略了框架跨域问题,要是在乎跨域的话,就看看这个吧:http://blog.wahahajk.com/2010/10/c-webbrowseriframe.htmlusingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.ComponentModel;namespaceIce{publicclassIceBrowser:IDisposable{#region------F 阅读全文
posted @ 2011-08-17 11:27 一修先生 阅读(766) 评论(0) 推荐(0)
摘要:关于DocumentCompleted事件,MSDN给出的解释是在文档加载完毕后执行,但是在我的程序中DocumentCompleted却被多次调用,查了一下资料,大概出现了以下几种情况。1、WebBrowser载入一个页面后DocumentCompleted事件会执行两次,但这两次的ReadyState状态不一样,分别是Intercative和Complete。而MSDN对这两种状态值的解释是:Complete该控件已完成新文档及其所有内容的加载;Interactive该控件已经加载足够的文档以允许有限的用户交互,比如单击已显示的超链接。由此可见,实际上DocumentCompleted事件 阅读全文
posted @ 2011-08-11 01:41 一修先生 阅读(467) 评论(0) 推荐(0)