c# 研究
文章平均质量分 83
yandavid
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
\t\t.NET 线程池
深度探索 Microsoft .NET提供的线程池, 揭示什么情况下你需要用线程池以及 .NET框架下的线程池是如何实现的,并告诉你如何去使用线程池。 如果你有在任何编程语言下的多线程编程经验的话,你肯定已经非常熟悉一些典型的范例。通常,多线程编程与基于用户界面的应用联系在一起,它们需要在不影响终端用户的情况下,执行一些耗时的操作。取出任何一本参考书,打开有关线程这一章:你能找到一原创 2013-06-09 15:30:00 · 650 阅读 · 0 评论 -
\t\tNBearLite 数据持久层 10分钟入门教程
NBearLite是NBearV4的几个核心组件之一,也是目前NBearV3中ORM部分的查询语法的核心。NBearLite本身并不是一个完整的ORM解决方案,配合目前Teddy正常开发的NBearMapping组件使用(某个中间组件过渡),组成一套完整强大的ORM解决方案。NBearLite的目标是提供一种SQL语句和存储过程透明的方便快捷,面向对象化的数据库操作,专门负责SQL语句生成,数据库原创 2013-06-09 15:33:45 · 611 阅读 · 0 评论 -
\t\t在MSSQL中定义和使用C#自定义类型 SQL Server08表类型参数传递
在学习SQL Server 2008的过程中,突然发现SQL Server支持自定义表类型,我们可以轻松的将一个SQL Server 2008表类型作为参数传递给存储过程。C#下实现了SQL Server 2008表类型参数传递本示例中用到的类型在数据库中的位置:创建一个自定义表类型CREATE TYPE [dbo].[UserDetailsType] AS TABLE( [ID] [原创 2013-06-09 15:36:56 · 1594 阅读 · 0 评论 -
\t\tC#使用AOP动态调用WebService
我们可以把Web服务的URL保存在配置文件中,这样,当服务URL改变时,只需要修改配置文件就可以了。 说了这么多,实际上我们要实现这样的功能: public static object InvokeWebService(string url, string methodname, object[] args)其中,url是Web服务的地址,methodname是要调用服务方法名,args是要调用原创 2013-06-09 15:34:58 · 758 阅读 · 0 评论 -
\t\tLinq随笔
ThenBy: var q = from c in db.Customers orderby c.City, c.ContactName select c;ThenByDescending: var q = from o i原创 2013-06-09 15:37:05 · 536 阅读 · 0 评论 -
\t\tC# 用Attribute实现AOP事务
阅前注意 1. 整篇文章的核心和突破点在于上下文Context的使用,务必注意CallContext在整个程序中起到的作用 2. 本文中看到的SqlHelper使用的是微软SqlHelper.cs。 3. 本文重点在于如何实现,并且已经测试通过,只贴关键性代码,所以请认真阅读,部分代码直接拷贝下来运行是会出错的!正文 首先我们来看一段未加事务的代码:原创 2013-06-09 15:34:55 · 553 阅读 · 0 评论 -
\t\tIHttpModule与IHttpHandler的区别整理
IHttpModule与IHttpHandler的区别整理1.先后次序.先IHttpModule,后IHttpHandler. 注:Module要看你响应了哪个事件,一些事件是在Handler之前运行的,一些是在Handler之后运行的2.对请求的处理上:IHttpModule是属于大小通吃类型,无论客户端请求的是什么文件,都会调用到它;例如aspx,rar,html的请求.IHttpHandle原创 2013-06-09 15:34:34 · 509 阅读 · 0 评论 -
\t\tC# 问号 ? 运算符 修饰符
在C#中有个较为重要,而常被一些人忽视的符号——问号(?)。在这里整理一下它在C#的几种情况: 可空类型修饰符“T?”:可空类型的基础类型可以是任何非可空值类型或任何具有struct约束的类型参数,但不能是可空类型或引用类型。例如:int?代表是可空的整形,而int??则是无效类型。即可空类型可以表示其基础类型的所有值和一个额外的空值。语法T?是System.Nullable的缩写形式。可空原创 2013-06-09 15:33:42 · 1197 阅读 · 0 评论 -
\t\tc# Attribute优势
Attribute是一个非常重要的组成部分,在类的成员中有property成员,二者在中文中都做属性解释,那么它们到底是不是同一个东西呢?从代码上看,明显不同,首先就是它们的在代码中的位置不同,其次就是写法不同(Attribute必须写在一对方括符中)。一个是属性,用于存取类的字段,一个是特性,用来标识类,方法等的附加性质什么是Atrribute首先,我们肯定Attribute是一个类,Attri原创 2013-06-09 15:33:13 · 588 阅读 · 0 评论 -
\t\tc# 汉字转拼音
using System;using System.Configuration;using System.Collections;using System.Globalization;using System.Threading;using System.Text;/**//// /// 汉字转拼音工具。/// public class CHS2PinYin{ /// /// 包原创 2013-06-09 15:33:06 · 700 阅读 · 0 评论 -
\t\tC# 权重控制随机抽取率
增加、减少随机抽中几率——此算法可用于题库随机抽题、赌博机控制出彩率,甚至俄罗斯方块等游戏,有广泛的用途!也希望能帮得到你! 强调 在随机的基础上增控制抽中几率,注意随机性!! 正文 一、文字解说: 为待随机抽取的集合每个项加一个权值,这个权值就是随机几率,比如正常被抽正的几率为1,那么将希望被抽中几率更大的项的权值设置为3或5,然后随机抽取集合中的项,并将随原创 2013-06-09 15:31:50 · 2196 阅读 · 0 评论 -
\t\t监视线程池 死锁
监视线程池ThreadPool 类提供了两个方法用来查询线程池的状态。第一个是我们可以从线程池获取当前可用的线程数量:public static void GetAvailableThreads( out int workerThreads, out int completionPortThreads);从方法中你可以看到两种不同的线程: WorkerThreads原创 2013-06-09 15:30:07 · 445 阅读 · 0 评论 -
\t\t用C#编写ActiveX控件 自定义html控件 ActiveX 控件注册 标记Activex控件为脚本安全
这是本控件开发完成后的一个简单应用。我们可以利用它以本地文件夹为单位来批量更新服务器的文件。多线程文件夹上传实现最近做一个Web项目,需要自己编写一个ActiveX控件。ActiveX控件大多是使用C++来开发的,而我对他们并不熟悉,因此考虑使用熟悉的C#编写ActiveX控件。 ActiveX 控件注册 首先,建立一个Windows控件库 项目 My_HtmlControl,并拖入一个text原创 2013-06-09 15:29:57 · 700 阅读 · 0 评论 -
\t\t多线程有关安全性
有关安全性 如果你再看看ThreadPool类,你会看到有两个方法我们没有用到,UnsafeQueueUserWorkItem 和UnsafeRegisterWaitForSingleObject。 为了完全理解这些方法,首先,我们必须回忆 .NET框架中安全策略是怎么运作的。 Windows安全机制是关注资源。操作系统本身允许对文件,用户,注册表键值和任何其原创 2013-06-09 15:30:09 · 963 阅读 · 0 评论 -
\t\t同步 异步线程池
同步对象的执行相对于定时器,.NET线程池允许在执行函数上同步对象,为了在多线程环境中的各线程之间共享资源,我们需要用.NET同步对象。如果我们没有线程,或者线程必须阻塞直到事件收到信号,就像我前面提到一样,这会增加应用程序中总的线程数量,结果导致系统需要更多的资源和CPU时间。线程池允许我们把请求进行排队,直到某个特殊的同步对象收到信号后执行。如果这个信号没有收到,请求函数将不需要任何线程,所以原创 2013-06-09 15:30:04 · 430 阅读 · 0 评论 -
\t\t基于C#的缓存优化
尽早缓存;经常缓存 您应该在应用程序的每一层都实现缓存。向数据层、业务逻辑层、UI 或输出层添加缓存支持。内存现在非常便宜 — 因此,通过以智能的方式在整个应用程序中实现缓存,可以获得很大的性能提高。 缓存可以掩盖许多过失缓存是一种无需大量时间和分析就可以获得“足够良好的”性能的方法。这里再次强调,内存现在非常便宜,因此,如果您能通过将输出缓存 30 秒,而不是花上一整天甚至一周的时间尝试优化代码原创 2013-06-09 15:34:24 · 457 阅读 · 0 评论
分享