Assembly的load, loadfrom, loadfile方法总结
摘要:经常弄混这三个方法, 参考了一堆帖子, 总结如下:一.Load方法1.Load(AssemblyName) 在给定程序集的 AssemblyName 的情况下,加载程序集。例1: TestLib.LzdTest lzdTeset = (TestLib.LzdTest)Assembly.Load("TestLib").CreateInstance("TestLib.LzdTest");用Reflector查看源码如下: public static Assembly Load(AssemblyName assemblyRef){ StackCrawlMark
阅读全文
posted @
2011-08-15 14:57
BobLiu
阅读(8225)
推荐(2)
编程语言的发展趋势
摘要:C#之父Anders Hejlsberg在2010年所做的一个名为"C# 4.0 and beyond"的演讲中介绍了他对于编程语言的发展趋势的判断, 指出了现代编程语言应该拥有的三大特性:1.声明性 (Declarative) 代表就是LINQ, 少写代码, 告诉计算机怎么做.2.动态性 (Dynamic) .Net 4.0 引入了动态语言运行时(DLR), 允许Ruby等动态语言在net上运行.引入dynamic类型的变量, 不事先doabc()也能通过编译. dynamic d = 1; dynamic re = d.doabc(); Response.Write(r
阅读全文
posted @
2011-08-08 10:41
BobLiu
阅读(235)
推荐(0)
var 隐式类型变量和匿名类型 vs dynamic 动态类型。
摘要:1.C#3.0开始引入了隐式类型变量var和匿名类型,如下:var v = new { Amount = 1, Message = "he" };Response.Write("111111111111111111<BR>2" + v);实际上v这个变量, 编译以后, .net自动生成了一个f_AnonymousType0的类.[CompilerGenerated, DebuggerDisplay(@"\{ Amount = {Amount}, Message = {Message} }", Type="<
阅读全文
posted @
2011-08-08 10:31
BobLiu
阅读(1328)
推荐(0)
形参与实参, 值传递与引用传递, ref参数与out参数的区别和联系?
摘要:一. 形参与实参1.先来一例子:fun(int a){........}Main (){ int b=0; fun(b);}其中,a是形参,b是实参. 2.再看理论定义形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。发生函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。函数的形参和实参具有以下特点:1. 形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。2. 实参可以是常
阅读全文
posted @
2011-07-27 17:43
BobLiu
阅读(8118)
推荐(0)
(转)命名空间与装配件的关系
摘要:命名空间类似与Java的包,但又不完全等同,因为Java的包必须按照目录结构来放置,命名空间则不需要。装配件是.Net应用程序执行的最小单位,编译出来的.dll、.exe都是装配件。装配件和命名空间的关系不是一一对应,也不互相包含,一个装配件里面可以有多个命名空间,一个命名空间也可以在多个装配件中存在,这样说可能有点模糊,举个例子:装配件A:namespace N1{ public class AC1 {…} public class AC2 {…}}namespace N2{ public class AC3 {…} public class AC4{…}}装配件B:namespace N1
阅读全文
posted @
2011-07-26 17:55
BobLiu
阅读(247)
推荐(0)
(转)反射-实例化类
摘要:分两步来做:第一步,新建一个类库,写入代码如下:using System;using System.Collections.Generic;using System.Text;namespace BAL{ public class Customer { .... }}第二步,将类库的DLL文件复制到新建的程序集目录下,然后在程序集中加入如下代码:方法1.使用System.Activator类的createinstanceusing System;using System.Reflection;class program{ static void Main() { Assembly asse =
阅读全文
posted @
2011-07-26 17:49
BobLiu
阅读(518)
推荐(0)
Assembly.CreateInstance()与Activator.CreateInstance()方法 (转)
摘要:动态创建类对象,大多是Activator.CreateInstance()和Activator.CreateInstance<T>()方法,非常好用,一般都用了Assembly.Load("AssemblyName").CreateInstance ("ClassName");的方法,研究一下这两者到底有什么区别,在msdn里,查到了两个方法的介绍:Assembly.CreateInstance 方法 (String)使用区分大小写的搜索,从此程序集中查找指定的类型,然后使用系统激活器创建它的实例。Activator.CreateInstan
阅读全文
posted @
2011-07-26 17:39
BobLiu
阅读(424)
推荐(1)
.Net Attribute特性
摘要:1.特性Attribute不能和属性Property混为一谈, 这是完全不同的两个东西.2.特性Attribute给类或方法标识的内容, 可以在程序运行的时侯, 通过反射获取到. 例如1: .net添加的单元测试类, 里面有TestClass标识,里面的方法有TestMethod标识, 当用户想运行测试用例时, 一点按钮, 所有的测试用例类, 每个类中的测试方法就都显示在面前, 用户可以自由的选择运行哪些测试类及类中的哪些测试方法, 这是怎么做到的, 相信就是.net通过反射得到所有的TestClass标识的类, 做成一个list显示给用户, 点开这个类, 再通过反射得到所有该类中有TestM
阅读全文
posted @
2011-07-08 11:21
BobLiu
阅读(949)
推荐(0)
Math.Round默认采用的不是四舍五入法, 而是四舍六入的银行家算法, 如何找回四舍五入法?
摘要:Math.Round默认采用的不是四舍五入法, 而是四舍六入的银行家算法, 也就是四舍六入五考虑,五后非零就进一,五后皆零看奇偶,五前为偶应舍 去,五前为奇要进一, 这个算法比四舍五入更精确些. Response.Write("<BR>" + Math.Round(144.34, 1)); --144.3 Response.Write("<BR>" + Math.Round(144.15, 1));--144.2 Response.Write("<BR>" + Math.Round(144.25,
阅读全文
posted @
2011-07-04 17:42
BobLiu
阅读(2478)
推荐(0)
Session, Cookie, Web.config中的cookieless总结
摘要:闲来无事, 总结回顾一下不清楚的技术点:1.Session存在server上, asp.net有几种存储方式, 一是inproc, 二是sqlserver, 三是stateserver, 四是可以放到Appfabric Caching中去(这是.net 4.0中新加的).2.Cookie存在客户端浏览器里, 如果加上expired, 则会保存到客户硬盘上去. 用户可以启用cookie, 也可以关闭cookie, 就这个自由, 导致的问题就来了.3.网站如何识别已登录用户呢?用户访问网站时, 网站会分配一个sessionID给该浏览器, 这个sessionID存在于客户端的cookie中, 这样
阅读全文
posted @
2011-06-22 16:37
BobLiu
阅读(5952)
推荐(2)
Control.ClientIDMode
摘要:指定Client控件输出时的 HTML id在 .NET Framework 4.0 以前,控件输出时的 HTML 的 id 与我们在 .aspx 页面中指定的不一定相同,这是由于 ASP.NET 为了防止冲突造成的。但也造成了客户端编程的不方便。.NET Framework 4.0 就解决了这个麻烦,为控件增加了 ClientIDMode 属性。AutoID 默认值,.NET Framework 4.0 之前的样子。Static 这个就是写的 ID 是什么,输出就是什么。Predictable 上面两种方式都太极端,像 GridView 等数据绑定控件,用这个就比较合适,因为有很多行,不可能
阅读全文
posted @
2011-06-20 17:52
BobLiu
阅读(286)
推荐(0)
Setting Meta Tags
摘要:Setting Meta Tags方便搜索引擎搜索:protected void Page_Load(object sender, EventArgs e){ Page.MetaKeywords = "新闻,体育,围棋"; Page.MetaDescription = "新闻1,体育1,围棋1";}<meta name="description" content="新闻1,体育1,围棋1" /><meta name="keywords" content="新闻,体育,
阅读全文
posted @
2011-06-20 17:12
BobLiu
阅读(189)
推荐(0)
PowerShell入门
摘要:1.PowerShell今天刚刚用了下PowerShell, 才知道它是描着linux的b shell, k shell等来的, 除了命令行的界面, 还有一个集成开发环境PowerShell ISE(Integrated Scripting Environment), 类似linux里的vim, vm等脚本编辑工具, 不过PowerShell ISE有漂亮的编辑界面和完善的调试功能,使脚本的书写变得方便了.Get-CommandGet-HelpGet-Process2.PowerShell的执行权限, 为防止恶意脚本的执行,默认机器的执行策略是Restricted - 脚本不能运行.Get-E
阅读全文
posted @
2011-05-09 17:35
BobLiu
阅读(851)
推荐(0)
Windows Server AppFabric Caching 安装启动的问题
摘要:在开发机器上测试没有问题, 一到服务器上就出现这个问题那个问题, 究其原因, 是因为在开发机上使用administrator这个build-in帐号登录, 基本上不会遇到什么权限类问题, 而服务器上为了安全起见, 有时不使用administrator帐号登录, 而是另建帐号, 授予administrators组的权限, 这样, 问题就来了.1. 服务Services中的AppFabricCachingService安装上以后默认没有启动, 首先要启动一下.2. 运行PowerShell操作cache, 在启动start-cachecluster,停止stop-cachecluster有可能会出
阅读全文
posted @
2011-05-09 16:43
BobLiu
阅读(3746)
推荐(0)
.Net 3.0 项目与.Net4.0项目之间互相引用的问题.
摘要:最佳答案: Yes it is a problem. Much like you can't add a reference to a .NET 2.0 assembly from a .NET 1.0 or 1.1 project. The .NET 4.0 is a new runtime version of the framework (CLR). The .NET 3.5 and 3.0 releases both use the 2.0 runtime version of the framework (CLR).You can always add a reference
阅读全文
posted @
2011-05-03 17:58
BobLiu
阅读(1411)
推荐(0)
使用 StateServer 保存 Session, 解决 Session过期问题
摘要:使用 StateServer 保存 Session 解决 Session过期,登陆过期问题。Post by dazix, 2009-10-12, Views:835 使用 StateServer 保存 Session 正常操作情况下Session会无故丢失。因为程序是在不停的被操作,排除Session超时的可能。另外,Session超时时间被设定成60分钟,不会这么快就超时的。 原因:由于Asp.net程序是默认配置,所以Web.Config文件中关于Session的设定如下:<sessionState mode='InProc stateConnectionString=
阅读全文
posted @
2011-04-29 13:33
BobLiu
阅读(1298)
推荐(0)
Exceeded storage allocation. The server response was: 4.3.1 Message size exceeds fixed maximum message size
摘要:错误:System.Net.Mail.SmtpException: Exceeded storage allocation. The server response was: 4.3.1 Message size exceeds fixed maximum message size at System.Net.Mail.DataStopCommand.CheckResponse(SmtpStatusCode statusCode, String serverResponse) at System.Net.Mail.SmtpConnection.OnClose(Object sender, Ev
阅读全文
posted @
2011-04-22 17:18
BobLiu
阅读(2030)
推荐(0)
很有用的.net 快捷键:Ctrl+-在代码浏览历史记录中向前 , Ctrl+Shift+-在代码浏览历史记录中向前
摘要:很有用的.net 快捷键:Ctrl+-在代码浏览历史记录中向前 , Ctrl+Shift+-在代码浏览历史记录中向前
阅读全文
posted @
2010-10-20 12:04
BobLiu
阅读(342)
推荐(0)
smtp发送邮件附件时, 如果文件名过长, 会导致附件乱码, 除了重新编译smtp以外, 限制上传文件名长度就是个简便的方法了.
摘要:smtp发送邮件附件时, 如果文件名过长, 会导致附件乱码, 除了重新编译smtp以外, 限制上传文件名长度就是个简便的方法了.
阅读全文
posted @
2010-10-12 17:47
BobLiu
阅读(2408)
推荐(0)
.Net Cache注意事项.
摘要:1.Cache是公有的, 而session是私有的. Cache是公有的, 给所有用户用的, 和application类似. 而session是私有的. 如果想存私有数据, 不可用cache.2.Cache 是有时间限制的,超过了服务器设定的过期时间,它就会被服务器回收。 超过了服务器设置的过期时间,就会被服务器回收。 当cache被回收后对应的内存块就会被清空,再次通过cache[“...
阅读全文
posted @
2010-10-11 14:36
BobLiu
阅读(344)
推荐(0)