随笔分类 -  .NET

摘要:使用Packaging无法实现通用的zip(使用其他工具压缩)的解压,只支持通过Packaging压缩包zip的解压,而SharpZipLib是基于“GPL”开源方式,风险比较大。在codeplex找到一个更强大的压缩和解压开源库,SharpCompress,和DotNetZip一样都是“MS-PL”开源方式。 SharpCompress支持的格式: ... 阅读全文
posted @ 2012-05-30 00:07 Asharp 阅读(17739) 评论(6) 推荐(6) 编辑
摘要:在.NET可以通过多种方式实现zip的压缩和解压:1、使用System.IO.Packaging;2、使用第三方类库;3、通过 System.IO.Compression 命名空间中新增的ZipArchive、ZipFile等类实现。 一、使用System.IO.Packaging压缩和解压 Package为一个抽象类,可用于将对象组织到定义的物理格式的单个实体中,从而实现可移植性与高效访问... 阅读全文
posted @ 2012-05-28 00:54 Asharp 阅读(29083) 评论(5) 推荐(10) 编辑
摘要:问题描述: my windows 7 .net framework seems to be borked (i'm getting CLR20r3 errors from many applications like ati catalyst or fallout mod manager) and nothing works (.net 2.0 uninstall (with that cleanup tool) doesn't do anything and sfc /scannow doesn't fix that problem, either). i thoug 阅读全文
posted @ 2011-08-22 23:38 Asharp 阅读(14930) 评论(3) 推荐(1) 编辑
摘要:这是因为.NET Framework 1.0 和 1.1 这两个版本对许多未处理异常(例如,线程池线程中的未处理异常)提供支撑,而 Framework 2.0 版中,公共语言运行库允许线程中的多数未处理异常自然继续。在多数情况下,这意味着未处理异常会导致应用程序终止。一、C/S 解决方案(以下任何一种方法)1. 在应用程序配置文件中,添加如下内容:<configuration> <runtime> <legacyUnhandledExceptionPolicy enabled="true" /> </runtime></ 阅读全文
posted @ 2011-08-22 23:31 Asharp 阅读(116732) 评论(2) 推荐(0) 编辑
摘要:IPAddress没有默认的构造函数,不能正常序列化。IPAddrss支持的构造函数有: 1: public IPAddress(byte[] address); 2: public IPAddress(long newAddress); 3: public IPAddress(byte[] address, long scopeid); 示例代码: 1: class Program 2: { 3: static void Main(string[] args) 4: { 5: TestClass testClass = new TestClass(); 6: 7: using (Memor. 阅读全文
posted @ 2011-05-05 23:13 Asharp 阅读(1370) 评论(1) 推荐(0) 编辑
摘要:在WebServices中,TimeSpan不能作为系统的TimeSpan作为参数,在客户端会生成新的TimeSpan类。一、问题重现 创建一个以TimeSpan为参数的Web Method:1: [WebMethod]2: public string HelloWorld(TimeSpan span)3: {4: return "Hello World";5: }6: 查看WSDL文件,可以看到以下的内容: 1: <s:element name="HelloWorld"> 2: - <s:complexType> 3: - &l 阅读全文
posted @ 2011-05-04 23:19 Asharp 阅读(3212) 评论(0) 推荐(3) 编辑
摘要:就象日期和日历格式一样,时间格式在全球各地也不是一成不变的。虽然每种时间表示基本上都显示小时、分钟和秒,但其显示顺序和分隔符相差很大。实际上,同一国家/地区的各地域之间也可能存在许多差异。不同地域之间的时间格式设置差异表现在以下三个方面中: 1、使用12小时或24小时时钟:大多数欧洲和亚洲区域设置采用 24 小时时钟,而美国采用 12 小时 A.M./P.M. 模型。在国家/地区的语言中也可以出现 A.M./P.M.,在一些语言中,它位于时间之前而不是时间之后。 2、用于分隔小时、分钟和秒的字符。虽然冒号 (:) 是分隔小时、分钟和秒最常用的字符,但一些亚洲语言使用的是象形字符。另外,一些区域 阅读全文
posted @ 2010-12-21 22:23 Asharp 阅读(4514) 评论(0) 推荐(0) 编辑
摘要:日期格式设置在整世界上并不是完全一致的。虽然每种日期格式都基本都显示年、月、日的内容。但其显示顺序和分割符却有很多的区别。相同国际/地区内的各区域之间也可能存在诸多差异。 基本日期格式(长日期和短日期):长日期:2010年12月20日短日期:2010-12-20 简单示例: 显示结果: 在 .NET 环境中设置日期格式的最简单有效的方法是利用DateTime 结构,利用它提供的方法您可以对DateTime 执行区分文化的操作。使用DateTimeFormatInfo类基于特定于文化的标准来格式化和显示DateTime。 DateTimeFormatInfo 定义如何根据地域设置 DateTi 阅读全文
posted @ 2010-12-20 23:54 Asharp 阅读(1288) 评论(2) 推荐(0) 编辑
摘要:虽然大多数说英语的国家/地区都使用公历,但作为全球通用产品还应考虑全球使用的其他日历系统。例如,有阴历、日本历、佛教历、回历、希伯来阴历等。各日历之间的一个主要差别是每种日历可能有不同的年份值。年份和月份的长度也可能有所不同,此外还有闰年的处理方式。即使使用同样的日历,每周的第一天也并不都是始于星期日,具体要取决于文化。例如,在采用公历的大多数欧洲国家/地区中,每周的第一天是星期一。与英语(美国)不同,还有其他一些区域设置使用多种日历类型,例如韩语。 常用的日历类型: .NET Framework 通过使用数据结构来处理公历日期。用DateTime结构提供的方法时,必须要意识到成员(如 Da 阅读全文
posted @ 2010-12-20 22:36 Asharp 阅读(999) 评论(0) 推荐(0) 编辑
摘要:在处理数字值时,有六个主要项目必须要注意: 1、用作千分位分隔符的字符: 在美国,该字符为逗号 (,)。在德国为句点 (.)。因此,一千零二十五就显示为 1,025(在美国)和 1.025(在德国)。在瑞典,千位分隔符为空格。 2、用作小数分隔符的字符。在美国,该字符为句点 (.)。在德国为逗号 (,)。因此,一千零二十五点七就显示为 1,025.7(在美国)和 1.025,7(在德国)。 3、负数的显示方式。可将负号放在数字开头,也可将其放在数字的末尾。另外,数字还可以带括号显示,或者甚至带颜色(如红色)显示。因此,负五百二十七可以显示为: 4、数字的形状或者它们与十进制数字是否一一对应 阅读全文
posted @ 2010-12-13 23:58 Asharp 阅读(1539) 评论(0) 推荐(0) 编辑
摘要:在全球化的需求中,不同区域的用户可能对“排序”列表有完全不同德期望。不同语言之间不仅字母顺序不同,而且字典和电话簿中的项目排序约定也可能大相径庭。例如,在瑞典语中,一些带重音符号的元音排在 "Z" 之后,而在其他一些欧洲国家/地区中,同样带有重音符号的元音却紧跟在不带音调符号的元音之后。包括非拉丁语脚本字符的语言具有一些特殊的排序规则。亚洲语言可按拼音、部首顺序、笔画数等多种方式进行排序。字符串的排序和比较是特定于语言的。即使在基于拉丁语脚本的语言中,也有不同的构成和排序规则。因此,在进行排序和字符串比较时,依靠的并不是码点。 .NET中的字符串比较 CompareInfo类提供了一组可用来执 阅读全文
posted @ 2010-12-13 23:18 Asharp 阅读(2168) 评论(1) 推荐(1) 编辑
摘要:CultrueInfo保存区域特定的信息,如关联的语言、子语言、国家/地区、日历和区域性约定。该类还提供对DateTimeFormatInfo、NumberformatInfo、CompareInfo和TextInfo的区域性特定实例的访问。这些对象包含区域性特定操作(如大小写、格式化日期时间和数字以及比较字符串)所需的信息。 部分区域性名称和标识符:区域性名称区域性标识符语言-国家/地区ar0x0001阿拉伯语ar-EG0x0C01阿拉伯语 - 埃及zh-CN0x0804中文 - 中国zh-CHS0x0004中文(简体)zh-TW0x0404中文 - 台湾zh-CHT0x7C04中文(繁体) 阅读全文
posted @ 2010-12-06 23:03 Asharp 阅读(1223) 评论(0) 推荐(0) 编辑
摘要:代码页是一个选定字符代码的列表,字符表示为以某个特定的顺序排列的码位。代码页通常会定义为支持特定的语言或那些共享公用书写系统的语言组。所有的 Window 代码页只能包含 256 个码位。大多数前 127 个码位都表示相同的字符。这是为保证连续性和旧代码预留的码位。代码页在后面的 128 个码位 128-255(以 0 为基数)有着显著的不同。 例如,代码页 1253 为希腊语书写系统提供所需的字符代码,而代码页 1250 为拉丁语书写系统(包括英语、德语和法语)提供字符。后 128 个码位中包含重音字符或希腊语字符。因此不能将希腊语和德语存储在同一代码流中,除非您放置某些类型的标识符来指明 阅读全文
posted @ 2010-12-06 22:32 Asharp 阅读(674) 评论(0) 推荐(0) 编辑
摘要:上一篇介绍Flex的WebService的使用,可以调用多种类型的数据,都是直接调用,没有使用参数,本篇学习使用参数调用WebService,WebService的参数类型可以是:简单类型(如数值,字串串等),简单实体模型(只有属性),比较复杂的实体模型(内陷其他实体),以及集合,XML等。 Flex在调用不同后台实现的Web Method方式只是在构造参数有些区别,调用方式是一样的,以下简单介... 阅读全文
posted @ 2010-10-09 23:12 Asharp 阅读(3577) 评论(1) 推荐(1) 编辑
摘要:WebService组件用于访问SOAP Web服务,此类服务时带有方法的软件模块,Web服务方法通常称为“操作(option)”,操作可以带参数(requet)。Web服务接口通过 Web 服务描述语言 (WSDL) 进行定义。通过 Web 服务提供的标准相容方式,在不同平台上运行的软件模块可以相互交互。 Flex 支持格式设置为 SOAP 消息且通过 HTTP 传输的 ... 阅读全文
posted @ 2010-10-08 22:41 Asharp 阅读(2895) 评论(2) 推荐(1) 编辑
摘要:利用Flash XML Socket实现”服务器推”技术的基础是:1.Flash提供了XMLSocket类,服务器利用Socket向Flash发送数据;2.JavaScript和Flash的紧密结合,JavaScript和as可以相互调用。 具体实现的方法:在HTML页面中陷入一个使用了XMLSocket类的Falsh程序。JavaScript通过调用此Flash程序提供的... 阅读全文
posted @ 2010-09-08 23:24 Asharp 阅读(10436) 评论(4) 推荐(0) 编辑
摘要:当把一个对象引用分配给一个变量时,该变量就包含对对象的一个强引用(strong reference)。垃圾收集器不会收回强引用仍在使用的对象。只要当变量离开作用域,或者显示地给变量分配null时,强引用才被删除。 弱引用(weak reference)可以保持对对象的引用,同时允许垃圾收集器在它认为适当的垃圾收集时间释放对象,回收内存。假设有一个对象创建相对便宜,但需耗费大量的内存,如果希望保持这... 阅读全文
posted @ 2010-05-05 22:51 Asharp 阅读(1847) 评论(1) 推荐(0) 编辑
摘要:      在编译任何.NET应用程序时,编译器把源代码转换为Microsoft中间语言(MSIL)。MSIL不在任何具体的处理器上执行,事实上,MSIL被设计为处理器独立的。要在一个具体的环境中执行应用程序,一个JIT编译器接受MSIL输出并把指令转换为主机处理器的本机指令,JIT编译器以即时方式编译代码,以便应用程序开始执行。  &... 阅读全文
posted @ 2010-05-03 01:06 Asharp 阅读(2718) 评论(0) 推荐(0) 编辑
摘要:一、.NET Framework 1.1版本 1、ASP.NET移动控件 2、ADO.NET的改动 添加System.Data.Odbc命名空间 新增System.Data.OracleClient命名空间供Oracle使用 DataReader对象公开HasRows属性,判断是否有返回行 Connection对象具有EnlistDistributedTransaction,可以在分布式事... 阅读全文
posted @ 2010-04-26 00:04 Asharp 阅读(3903) 评论(0) 推荐(0) 编辑