博文
如何查找 SQL server instance(2011-04-12 19:42:00)
摘要:打开SQL Server Configuration Manager 后,就可以看到
Server Type 是 SQL Server 的就是 Server instance.
在该服务器上,有两个instance, MSSQLSERVER 和 TESTINSTANCE. 其中 MSSQLSERVER 是 default instance
如果想要暂停或启动该 instance, 可以右击,然后选择属性
......
log4net 的一些常见问题(2011-03-08 21:53:00)
摘要:Log4net 的配置文件应该放在哪里?
· App.config 或 web.config
· 单独的一个xml 文件
· 无配置文件,在程序代码中进行配置
Log4net 的配置文件中是否一定需要 <Logger> tab?
不需要,请看以下的例子:
<log4net>
<!-- 輸出到Console -->
<appender name="A1" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level %logger - %message%newline" />
</layout>
</appender>
<root>
<!-- 輸出訊息等級 -->
<level value="ALL" />
<appender-ref ref="A1" />
</root>
......
如何把共享程序集添加到引用(2011-03-07 23:31:00)
摘要:1. 如何创建强名程序集
可以用VS来产生公钥密钥对文件, Project Properties à Signing
2. 如何查看public key token
可以用命令 sn –T [assembly]
3. 安装共享程序集
只有强名程序集才可以安装到Gac中。可以用命令
gacutil /i [assembly]
4. 卸载共享程序集
可以在C:\Windows\assembly目录下,找到要卸载的程序集,右键单击,然后选择Uninstall.
5. 如何对共享程序集在VS中添加引用
首先运行Start > Run > "C:\windows\assembly\gac_msil".
选择你要找的程序集的文件夹,然后进入该文件夹,再选择正确的版本的文件夹。
找到你要的程序集后,可先将其临时拷贝到一个位置,再把这个拷贝程序集添加到引用中,然后便可以删除这个临时程序集拷贝,因为VS会自动在GAC中搜索该程序集。......
程序集与强命程序集(2011-03-07 23:30:00)
摘要:作者: 王雪鹏
来源:aspcool
1. 程序集(Assembly)的概念:
首先:程序集是一个或多个托管模块,以及一些资源文件的逻辑组合。因为它是一个逻辑上的组合,所以程序集的逻辑表示和物理表示可以相互分离。如何将代码和资源划分到不同的文件中完全取决于我们。程序集允许我们将文件的部署分解开来,同时又将所有的文件看作一个单独的集合。
其次:因为CLR是直接和程序集打交道的,所以程序集也是组件复用,以及实施安全策略和版本策略的最小单元(安全策略,版本信息等都只能是加在程序集上)。
注意:程序集是一个逻辑组合,它可以包含很多个文件。大多数程序集(比如使用Visual Studio创建的那些)一般都是单文件程序集,也就是只有一个.exe或者.dll文件(目前.NET的程序集只有这两种格式)。在这种情况下,程序集清单(manifest)直接嵌入到单文件程序集中。
2. 强命名程序集(Strong Name Assembly)的概念
因为不同的公司可能会开发出有相同名字的程序集来,如果这些程序集都被复制到同一 个相同的目录下,最后一个安装的程序集将会代替前面的程序集。这就是著名的Windows “DLL Hell”出现的原因。
很明显,简单的用文件名来区分程序集是不够的,CLR需要支持某种机制来唯一的标识一个程序集。这就是所谓的强命名程序集。
一个强命名程序集包含四个唯一标志程序集的特性:文件名(没有扩展名),版本号,语言文化信息(如果有的话),公有秘钥。
这些信息存储在程序集的清单(manifest)中。清单包含了程序集的元数据,并嵌入在程序集的某个文件中。
下面的字符串标识了四个不同的程序集文件:
“MyType, Version=1.0.1.0,
&nb......
浅谈公共语言运行库(2011-03-07 23:29:00)
摘要:C#的源代码首先要被编译为Microsoft的中间语言(IL)的代码。这些中间代码也被称为托管代码。它们不是文本代码,而是类似Java源程序被编译后的字节代码。然后使用公共语言运行库(CLR)作为执行环境来执行这些托管代码。这样做的好处有:
(1) 平台无关
只要安装了.Net Framework的平台就可以用CLR来执行中间代码。换句话说,相同的源代码在不同的平台上编译得到的中间代码都是一样的,而不同的平台需要不同的CLR来执行中间代码。当然这个不是绝对的平台无关,不是说就可以把C#的程序拿到Linux中编译运行了。目前主要还是在Windows平台上运行托管代码。也有一些工程致力于把.Net Framework应用到Linux平台中。
(2) 提高性能
托管代码要经过再次编译才能变成机器的本地代码,看起来.Net的程序性能比起直接编译为本地代码的程序运行效率要低,可是实际上,Microsoft采用了一些手段来提高.Net程序的性能。
· 即时编译(JIT编译),也就是运行托管代码时,只编译用到的那部分代码,而不是先把这个托管代码编译好,然后再运行。
· 编译器接合处理器进行编译。以往直接编译为本地代码的编译器,比如Visual Studio 6中的编译器,不会考虑处理器的不同特性。它不知道你使用的是奔腾3还是奔腾4的处理器,而CLR把处理器的特性考虑了进去。也就是说,编译器会对处理器的特定性能进行代码的优化。......
Using log4net(2011-03-07 23:27:00)
摘要:http://ondotnet.com/pub/a/dotnet/2003/06/16/log4net.html?page=3......
How to Find CRM Version and Orgnization(2011-02-17 21:25:00)
摘要:http://mscrmonline.wordpress.com/2009/12/25/how-to-find-microsoft-crm-version-and-organization-info/
Here is how to find what version of the Microsoft CRM 4.0 including the Update Rollup applied and Organization Info you are running:
CRM Web Client >> Help >> About Microsoft Dynamics CRM
In the above example, the version is 4.0.7333.1644 and the organization name is “MicrosoftCRM” (Note: this is the Organization’s Friendly Name – the Unique Could be different).
You may wonder what are the numbers after the 4… – they indicate the Update Rollup applied.
Here is a list of v4.0 version numbers and their corresponding Update Rollups:
4.0.7333.3 – Base Installation, No Update Rollup
4.0.7333.1113 – Update Rollup 1
4.0.7333.1316 – Update Rollup 2
4.0.7333.1408 – Update Rollup 3
4.0.7333.1551 – Update Rollup 4
4.0.7333.1644 – Update Rollup 5
4.0.7333.1750 – Update Rollup 6
4.0.7333.2138 – Upda......
MSDN、OEM、OPK、RTM 版本差異(2011-02-16 17:21:00)
摘要:http://www.wretch.cc/blog/upeqmas/3711247
(一)MSDN (Microsoft Developer Network)版
MSDN軟件是微軟公司面向軟件開發者的一種版本。MSDN 涵蓋了所有可以被開發擴充的平台和應用程序,如微軟公司的百科全書 Encarta,或者是各種遊戲,是不包括在 MSDN 之內的,因為這些產品直接面向最終用戶,沒有進行程序開發的必要。
(二)OEM(Original Equipment Manufacturer)版
OEM軟件只能隨機器出貨,不能零售,所以也叫做隨機版。OEM軟件只能全新安裝,不能從舊有操作系統升級。如果買筆記型計算機或品牌計算機就會有隨機版軟件。包裝不像零售版精美,通常只有一片cd和說明書(授權書)。這種系統通常會少一些驅動,而且目前的OEM軟件很少放在光盤裡能給你安裝,要麼就是恢復盤,要麼就是硬盤鏡像。
(三)OPK(OEM PreInstallaion Kit)版
Windows OPK 光碟只提供給 OEM 廠商,除了包含 Windows PE,Windows OPK 光碟能開機進入前述的 Windows PE 基本預設環境。獲得微軟授權使用 Windows PE 的非 OEM 廠商會收到 Windows PE 光碟,這片光碟包含 Windows PE 建置工具。Windows OPK 光碟亦包含相同的 Windows PE 建置工具。企業用戶與 OEM 廠商雖然都可以利用 Windows PE 技術來部署 Windows,但實際的需求也有相當程度的差異,因此微軟在 Windows Vista 除了為 OEM 廠商提供 OPK 光碟,也為企業部署 Windows Vista 推出了 WAKI 工具;OPK 或 WAIK 的許多技術和工具都相同,而 Windows PE 也是兩者共同的技術之一。相較於提供給一般企業並 可公開下載的 WAIK (英文) 以及提供給 OEM 廠商的 OPK,Windows PE 光碟僅提供給與微軟簽訂 Software Assurance(軟體保證)、Enterprise Agreements 或 Campus Agreements(校園合約)等大量授權的客戶。
(四)RTM(Relea......
C# 正则表达式(2010-09-28 05:57:00)
摘要:http://www.wangqi.com/html/2006-12/9250.htm
字符语法
语法解释
语法例子
\d
匹配数字(0~9)
‘\d’匹配8,不匹配12;
\D
匹配非数字
‘\D’匹配c,不匹配3;
\w
匹配任意单字符
‘\w\w’ 匹配A3,不匹配@3;
\W
匹配非单字符
‘\W’匹配@,不匹配c;
\s
匹配空白字符
‘\d\s\d’匹配3 d,不匹配abc;
\S
匹配非空字符
‘\S\S\S’匹配A#4,不匹配3 d;
.
匹配任意字符
‘....’匹配A$ 5,不匹配换行;
[…]
匹配括号中任意字符
[b-d]匹配b、c、d, 不匹配e;
[^…]
匹配非括号字符
[^b-z]匹配a,不匹配b-z的字符;
重复语法
语法解释
语法例子
{n}
匹配n次字符
\d{3}匹配\d\d\d,不匹配\d\d或\d\d\d\d
{n,}
匹配n次和n次以上
\w{2}匹配\w\w和\w\w\w以上,不匹配\w
{n,m}
匹配n次上m次下
\s{1,3}匹配\s,\s\s,\s\s\s,不匹配\s\s\s\s
?
匹配0或1次
5?匹配5或0,不匹配非5和0
+
匹配一次或多次
\S+匹配一个以上\S,不匹配非一个以上\S
*
匹配0次以上
\W*匹配0以上\W,不匹配非N*\W
重复语法
语法解释
语法例子
^
定位后面模式开始位置
......
C#的一些运算符(2010-09-28 05:54:00)
摘要:参见《C#高级编程》第四版
is 运算符
is 运算符可以检查对象是否与特定的类型兼容。”兼容”表示对象是该类型,或者派生于该类型。例如,要检查变量是否与object类型兼容:
int i = 10;
if (i is object)
{
Console.WriteLine("i is an object");
}
int和从object继承而来的其他C#数据类型一样,表达式i is object将得到true,并显示信息。
as运算符
as运算符用于执行引用类型的显式类型转换。如果要转换的类型与指定的类型兼容,转换就会成功进行;如果类型不兼容,as运算符就会返回值null。如下面的代码所示,如果object引用不指向string实例,把object引用转换为string就会返回null:
object o1 = "Some String";
object o2 = 5;
string s1 = o1 as string; // s1 = "Some String"
......
