代码改变世界

一站式示例代码库 中文版 2010年10月更新

2010-11-01 10:30  Jialiang  阅读(...)  评论(...编辑  收藏

在这个release中我们的团队完成了12篇示例的翻译工作。在接下来的日子里,我们会陆续翻译完成更多的例子。我们计划在2011年7月前总共翻译完成200篇示例。

下载http://1codechs.codeplex.com/releases/

如果您对翻译内容有任何的意见或建议,欢迎Email 联系我们

 

十月新增中文版示例:

----------------------------------

CSAutomateWord/VBAutomateWord

CSAutomateWord案例阐述了如何使用Visual C#代码生成Microsoft Word 实例,构建新的Word文档,插入段落、表格,保存文档,关闭Word应用程序及释放非托管COM资源的过程。 Office 自动化建立在组件对象模型(COM)的基础上。当从托管代码中调用Office相关的COM对象时,将自动生成一个运行库可调用包装(RCW)。RCW掌管.NET应用程序与COM对象间的调用,它保存对COM对象进行引用的数量值。 如果RCW上并非所有的引用都被释放,那么Office的COM对象将不会退出,这也将导致Office应用程序在自动化运行后无法终止。为了确保Office应用程序完全退出,示例提供了两种解决方案。

解决方案1. AutomateWord 通过Microsoft Word主要的互用组件(PIA)自动化Word应用程序,并且将每个COM访问对象分配给一个新的变量,使用户最终可以通过调用Marshal.FinalReleaseComObject方法释放这些变量。

解决方案2. AutomateWord 通过Microsoft Word主要的互用组件(PIA)自动化Word应用程序,在自动化方法退出堆栈后执行垃圾收集器(此时RCW对象不再被引用),从而清除RCW并释放COM对象。

 

---------------------------------- 

CppCreateLowIntegrityProcess/CSCreateLowIntegrityProcess/VBCreateLowIntegrityProcess

这个代码示例演示了如何启动一个低完整性进程。当你点击本程序中“以低完整等级执行本程序”按钮,此应用程序使用低完整性再次启动一个本程序实例。低完整性进程只能在低完整性区域内写入数据,比如%USERPROFILE%\AppData\LocalLow文件夹或者注册表中的HKEY_CURRENT_USER\Software\AppDataLow键值。即使当前用户的SID在自由访问控制列表(discretionary access control list)中拥有写入权限,如果你想要访问一个完整性高的对象,你也将会收到一个无法访问的错误。默认情况下,子进程继承其父进程的完整性等级。要启动一个低完整性进程,你必须使用CreateProcessAsUser和低完整性访问令牌启动一个新的子进程。详细信息请参考示例CreateLowIntegrityProcess中的相关函数。

 

----------------------------------

CSSL4WCFNetTcp/VBSL4WCFNetTcp

Silverlight4支持netTcpBinding,这给我们提供了一个调用WCF双向通信的新途径。在这个示例中,我们创建了一个简单的天气预报应用来演示怎样在Silverlight中应用netTcp WCF。

 

----------------------------------

CSASPNETMenu/VBASPNETMenu

这个示例展示了如何绑定 ASP.NET 菜单控件到数据库. 所有菜单的内容都是动态生成的,  如果我们需要在网站中添加新的导航项, 我们只需要数据库中添加或修改相应的数据.这使我们非常方便的完成了一个菜单模块.

 

----------------------------------

CSASPNETSendMail

CSASPNETSendMail示例如何通过System.Net.Mail收发邮件。

 

----------------------------------

CSEFForeignKeyAssociation/VBEFForeignKeyAssociation

示例展示了Entity Framework(EF) 4.0的一个新特性,Foreign Key Association。此示例比较了新的Foreign Key Association和Independent Association,并且展示了怎样插入一个新的关联实体,通过两个关联插入已存在的实体和更新已存在实体。