随笔分类 -  C#

WCF X.509证书创建与IIS宿主设置
摘要:首先说明,仅仅使用证书只解决了数据明文安全问题的,但请求是否合法,还要通过其它手段,如:双向证书验证 或者 证书+用户验证的方案VS控制台下创建证书示意:1,默认创建证书 makecert -n "CN=www.ecepdi.com" Wcf_EdocFileService.cer (-n搬发给)2, 创建自签名搬发者证书 makecert -n "CN=www.ecepdi.com" -r Wcf_EdocFileService.cer (-r代表自签署)3,创建带私钥部分.pvk的证书 makecert -n "CN=www.ecepdi. 阅读全文

posted @ 2012-01-17 11:48 小城岁月 阅读(4338) 评论(1) 推荐(0) 编辑

CLR Via笔记之ThreadPool/Task
摘要:ThreadPool 是MTA设计,不像STA线程可以支持Com Interop互操作。而Task是ThreadPool的再封装简化,两者都支持异步取消的操作。ThreadPool 通过CancellationTokenSource 取消线程操作private static void CancellingAWorkItem() { CancellationTokenSource cts = new CancellationTokenSource(); ThreadPool.QueueUserWorkItem(o => Count(cts.Token, 1000))... 阅读全文

posted @ 2011-11-18 13:46 小城岁月 阅读(1700) 评论(1) 推荐(4) 编辑

CLR Via笔记之.NET 4.0 并行Parallel
摘要:4.0特性中扩展了并行任务处理,其实就是封装了ThreadPool的Task。园子里有很多介绍Parallel的并行计算,其实我更看好并行查询PLINQ。做过复杂SQL拼接报表的人应该深有体会,当复杂的SQL执行时间过长,你怎么做呢?当存储过程优化后的执行时间还是让人无法接受呢? 之前的解决方案是将复杂的SQL拆分成几段(可能是多张表)分别并行执行,将查询结果加载至内存,利用LINQ处理获取交集数据最终达到目的,当然这个是牺牲内存的方式达到目的,但是如果查询的数据短期不会有太大变化时,这种方式解决查询速度过慢肯定是个较好的方案。而PLINQ在此基础上又进一步扩大了LINQ战果。下面是PLIN. 阅读全文

posted @ 2011-11-16 11:56 小城岁月 阅读(934) 评论(1) 推荐(1) 编辑

.NET 序列化与反序化
摘要:序列化与反序化目的是为了解决对象的传递与持久化操作,如在不同的进程,应用程序哉,服务间传递,对象的保存与状态还原. .net 环境下提供的序列化方式至3.5版本,有二进制,SOAP,XML,DataContract,JavaScript等,开源的有如Json.net等。当然也有自己手动反射实现的,比如利用MemberInfo,或者FormatterServices (二进制,SOAP等方式是封装了FormatterServices 的操作)。以上的几中方式处理序列化的对象都有不同的要求,二进制,SOAP,XML方式要求对象必须属性标记可序列化[Serializable],而DataContra 阅读全文

posted @ 2011-11-13 01:34 小城岁月 阅读(1881) 评论(0) 推荐(3) 编辑

CLR VIA反射性能比较的例子
摘要:在CLR VIA 的Demo中看到关于反射性能的几个例子,演示了反射操作实例及性能表现。反射的过程其实就是根据要查找的反射信息(字段名,方法名,类名等),在元数据中逐字符匹配的查找字段名,类型名等,然后定位到IL代码编译执行(所以会有大小写区分)。由于元数据是记录了程序集所有类型以及成员的描述信息,所以在其中查找指定的信息是件浪费性能的事情。如何快速匹配到对应的元数据信息,然后定位到IL执行代码去执行,这是本身反射性能提升的直接途径,当然这个过程已经很难优化,但是可以通过缓存管理首次的结果提高效率。类似JIT对IL方法指令的编译,首次编译后保存CLR 元数据相关的结构表中,再下一次执行时直接上 阅读全文

posted @ 2011-11-12 02:15 小城岁月 阅读(952) 评论(2) 推荐(4) 编辑

进程/线程/线程安全/静态类 杂谈
摘要:进程 是应用程序的一个实例要使用的资源的一个集合,每个进程都被赋予了一个虚拟空间,以确保另一个其它进程无法访问。进程在者创建时需要分配大量的内存并且初始化加载EXE以及大量的DLL资源。线程相当于逻辑CPU用以解决进程长时间占用资源的问题,在创建时被分配大约1M的内存。线程以CPU时间片单位运行,当时间片到期后自动切换到另一个线程执行,从而缓解一个进程或线程长期占用资源的情况。线程切换伴随着上下文资源的切换,所以大量的线程切换也是浪费性能的事情。一个进程拥有一个专用线程,理论上有多少进程最少就有多少线程,当然实际情况上一个进程可能拥有很多线程。我们可以通过任务管理器的添加选项列线程数来查看一个 阅读全文

posted @ 2011-11-08 01:05 小城岁月 阅读(2551) 评论(1) 推荐(5) 编辑

VS IDE 引用.net 项增加其它DLL项方法
摘要:打开注册表找到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders\ 这一项创建自己的DLL文件夹 假如Mongo 将注册值指向 自己的DLL文件夹 。保存之后我们VS IDE引用一下试试果然可以了,只要做一个就可以了,有新的DLL 直接扔到指定的文件夹下,在VS .NET 引用项中就可以找到这些DLL。 小技巧,估计控件商都是这么处理的。 阅读全文

posted @ 2011-10-28 17:03 小城岁月 阅读(616) 评论(0) 推荐(1) 编辑

GC/Windbg/IDisposable/IL/MeteData/JIT 杂谈
摘要:GC工作原理大家都已经知道,简单的说就是按代回收托管对象。哪些托管对象会被回收,是通过每个程序的Root来识记,被Root标记的引用对象以及递归出所有相同的引用对象都是活对象,而未被标记的则意味着要被回收。何时回收对象?对于每个对象,CLR首先尝试把对象分配在0代中,如果0代已满,那么GC才会开始工作,把0代中的对象转移到1代中;如果1代也满,GC将会把1代中的对象转移到2代中。也就是说,CLR会在适当的时机,才开始进行垃圾回收。但是对于非托管对象的处理就显得无能为力,但是GC仍然有自己的解决方式。如果非托管对象实现了Finalize方法,代表此非托管对象可终结。因此在非托管对象被创建时,这. 阅读全文

posted @ 2011-10-27 13:34 小城岁月 阅读(2239) 评论(4) 推荐(3) 编辑

JS图片素材及JQueryUI样式设计
摘要:白菜同志介绍了两个好的JS相关的素材网址,不错赞一个收藏了。http://www.easyicon.cn/ 图片素材网http://jqueryui.com/themeroller/ jqueryUI 样式设计,这个还有FireFox版本的设计器http://apycom.com/ 导航jcDock 防苹果桌面http://ndesign-studio.com/blog/css-dock-menuhttp://www.wizzud.com/jqDock/图片相关的http://leandrovieira.com/projects/jquery/lightbox/ jQuery lightBox 阅读全文

posted @ 2011-10-20 22:42 小城岁月 阅读(1146) 评论(1) 推荐(3) 编辑

mongodb/SQL 连接池小记
摘要:默认情况下,基本所有数据库都是有连接池项的。mongodb也不例外,当我们使用一致的连接字符串时,这些连接都会归到一个池里重复利用,如果没设置最小minpoolsize 连接池会在一定的时间内关闭掉这些连接,当设置了此值时,连接池会保留这个值数量的活动连接以重用利用,从而必免反复创建浪费开销。 这里需要注意的是,连接字符串必段一样的,否则会重新创建另外一个池 。(SQL/Mongodb 都是如此)。在串行过程中,使用同一连接字符串依次创建的连接在一般指向同一个连接(当没有其它并行线程的情况下)。并行过程中,则表现为池中MinimumPoolSize循环利用。而不同的连接字符串创建连接必定都是. 阅读全文

posted @ 2011-10-19 23:00 小城岁月 阅读(5305) 评论(5) 推荐(4) 编辑

SQL/MongoDB 连接并发测试
摘要:最近一直在搞mongodb 文件服务器大量文件并发上传测试,在官方文档发现mongo是线程安全的,支持单一连接下的并发操作。印象ADO.NET 似乎不支持单一连接并发。于是,测试一下来证实这个疑虑。(前两篇小记一直纠结mongodb吃内存导致并发文件上传变慢问题,经过这两天测试,发现文件并发上传越来越慢的瓶颈是磁盘的IO读写的瓶颈)以10W条/20W条 记录写入测试,下面是测试结果 操作10W w/s20W w/s操作方式备注179.958163.396主线程 有池 单连接 单打开单打开指的一次open close 内执行所有写入操作279.958164.412主线程 有池 单连接 ... 阅读全文

posted @ 2011-10-18 23:26 小城岁月 阅读(12220) 评论(7) 推荐(7) 编辑

Quartz.Net 调度框架配置介绍
摘要:在平时的工作中,估计大多数都做过轮询调度的任务,比如定时轮询数据库同步,定时邮件通知等等。大家通过windows计划任务,windows服务等都实现过此类任务,甚至实现过自己的配置定制化的框架。那今天就来介绍个开源的调度框架Quartz.Net(主要介绍配置的实现,因为有朋友问过此类问题)。调度的实现代码很简单,在源码中有大量Demo,这里就略过了。Quartz.Net当前最新版本 Quartz.NET 2.0 beta 1 Released一 基于文件配置先看一下简单的实现代码View Code using System;using System.Collections.Generic;u. 阅读全文

posted @ 2011-10-16 22:18 小城岁月 阅读(27669) 评论(16) 推荐(22) 编辑

Microsoft® Translator Interactive SDK (微软翻译插件)
摘要:纯酱油篇插件SDK链接:http://sdk.microsofttranslator.com/Widget/UseWebWidget.aspx"; var p = document.getElementsByTagName('head')[0] || document.documentElement; p.insertBefore(s, p.firstChild); }, 0); /* -->MSDN很多未翻译页面都是暂时用这个插件翻译的,微软的很多团队博客也使用了这个插件。看一下ADO.NET 团体博客的效果:翻译前---------------------- 阅读全文

posted @ 2011-07-04 15:36 小城岁月 阅读(3238) 评论(2) 推荐(2) 编辑

利用Office Save as PDF or XPS 实现Office批传PDF
摘要:由于加班要转换Office文档及CAD为PDF,为了省事因此临时写个批量转换PDF工具。CAD已经有现成的一个叫Convert的工具,那就剩下Office这边的Word,Excel,PowerPoint的转换了。微软在Office 2007已经提供了一个叫save as pdf or xps的插件,但插件只能单个转换。因此网上搜了一下这方面的转换代码,搜来搜去很杂,itext,icreator等等,文档也不是很详细,于是想想微软应该提供了这方面的接口,查阅了一下MSDN,微软确实提供了.NET 调用Office com接口转换PDF的代码,以下简直封装的代码。准备条件:Office 12 d. 阅读全文

posted @ 2011-06-23 12:43 小城岁月 阅读(3975) 评论(9) 推荐(1) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
面朝大海,春暖花开!
点击右上角即可分享
微信分享提示