代码改变世界

c# 动态加载和卸载DLL程序集

2013-01-31 09:13 by Bay.Li, 3749 阅读, 3 推荐, 收藏, 编辑
摘要:在 C++中加载和卸载DLL是一件很容易的事,LoadLibrary和FreeLibrary让你能够轻易的在程序中加载DLL,然后在任何地方卸载。在 C#中我们也能使用Assembly.LoadFile实现动态加载DLL,但是当你试图卸载时,你会很惊讶的发现Assembly没有提供任何卸载的方 法。这是由于托管代码的自动垃圾回收机制会做这件事情,所以C#不提供释放资源的函数,一切由垃圾回收来做。当AppDomain被卸载的时候,在该环境中的所有资源也将被回收。关于AppDomain的详细资料参考MSDN。下面是使用AppDomain实现动态卸载DLL的代码,namespace WindowsF 阅读全文

VS2008中创建SQL项目及部署

2012-03-06 09:09 by Bay.Li, 382 阅读, 0 推荐, 收藏, 编辑
摘要:T-SQL在执行普通查询的时候是很高效的,但是在执行循环,判断这样的语句的时候效率就不那么的高了。这时可以借助CLR了,我们可以在SQL Server 2008中扩展C#程序来完成循环等过程式的查询,或者依赖SQL Server 自身不便实现的功能。下面将以C#程序实现正则表达式实现SMT DB 中的Function: CHECKOPID 功能,以此来介绍VS2008 IDE 中如何创建SQL project 。一、 VS2008 IDE 中创建SQL Project1.在Visual Studio2008中选择创建 SQL Server 项目2 新建或添加数据库实例引用3 在Solution 阅读全文