新版Microsoft All-In-One Code Framework 3月10日发布下载。
下载地址: http://1code.codeplex.com/releases/view/62267#DownloadId=215627
本次发布中,不仅新增了20多个ASP.NET, Silverlight, Windows, IE, WF示例,也绑定了最新的示例代码浏览器:
如果您是第一次听说All-In-One Code Framework(一站式示例代码库)这个项目,请参阅微软新闻中心的这篇报道 http://www.microsoft.com/presspass/features/2011/jan11/01-13codeframework.mspx,主页上的相关介绍http://1code.codeplex.com/, 以及这段视频:http://v.youku.com/v_show/id_XMjIwODc0MjY0.html
CSSLTreeViewCRUDDragDrop
下载: http://1code.codeplex.com/releases/view/62253#DownloadId=215808
该示例由Amit Dey编写。演示了如何扩展Silverlight内置的TreeView控件以支持CRUD (创建,读取,更新和删除)TreeNode以及拖拽TreeNode功能。在MSDN论坛以及我们的示例代码请求服务里,不少客户经常询问如何给TreeView添加如上所述功能。故All-In-One Code Framework创建了该示例,希望以此帮助开发人员更方便地处理该需求。Amit Dey在他的博客中详细介绍了该示例:http://blogs.msdn.com/b/codefx/archive/2011/02/15/silverlight-treeview-control-with-crud-and-drag-amp-drop.aspx
CSSL4FileDragDrop and VBSL4FileDragDrop
下载:
http://1code.codeplex.com/releases/view/62253#DownloadId=215809
http://1code.codeplex.com/releases/view/62253#DownloadId=215810
文件拖拽是Silverlight4新加入的功能,此示例演示了如何在Silverlight中实现元素拖拽以及文件拖拽。
CSASPNETBreadcrumbWithQueryString
下载:http://1code.codeplex.com/releases/view/62253#DownloadId=215022
有时候我们想根据查询字符串(Query String)的值来修改SiteMapPath控件的标题和路径. 或者我们想动态地创建一个SiteMapPath控件. 这个示例演示了如何通过处理SiteMap.SiteMapResolve事件来达到这些目标.
CSASPNETEncryptAndDecryptConfiguration, VBASPNETEncryptAndDecryptConfiguration
下载:
http://1code.codeplex.com/releases/view/62253#DownloadId=215027
http://1code.codeplex.com/releases/view/62253#DownloadId=215106
在此示例中,我们将运用RSA非对称加密机制对一些敏感信息进行加密和解密。
示例包含两部分,第一部分演示了对于页面中一般字符串,使用RSACryptoServiceProvider,生成公钥和密钥,然后对其加密和解密的过程。
第二部分则使用RSA configuration provider对网站配置文件进行加密和解密。
connectionStrings节点加密前:
加密后:
特别注意的是一些特定的配置节点,如
<processModel>
<runtime>
<mscorlib>
<startup>
<system.runtime.remoting>
<configProtectedData>
<satelliteassemblies>
<cryptographySettings>
<cryptoNameMapping>
<cryptoClasses>
是不能够使用configuration provider来进行加密解密的。
具体请参考代码示例。
CSASPNETFileUploadStatus
下载:http://1code.codeplex.com/releases/view/62253#DownloadId=215028
我相信ASP.NET开发人员肯定都会喜欢这个sample,因为我们在很多情况下都希望让客户能够知道当前上传文件的状态,包括上传速度,完成度等等。通常情况下,我们都需要利用COM组件,如Flash,Silverlight等等来完成这样的功能。文件上传的状态数据可以通过两个地方得到,一个是客户端,一个是服务器端。对于客户端,因为安全因素,文件的上传状态信息无法被脚本或者服务器端代码获得,所以我们需要像Flash, Silverlight这样的COM组件来实现这个功能,我不喜欢这种方式的原因是客户端需要安装这些组件,而且还需要用另外一种框架去实现;对于服务器端,我们可以通过coding获得文件上传状态信息,但是关键问题是如何将这些信息告诉客户端,在这个例子中,我们将结合AJAX技术和自定义HTTPModule的特性,详细介绍如何分析HTTP协议,如何分解文件请求数据包,如何自定义服务器端文件缓存位置,如何将服务器端得到的状态信息返回给客户端等等问题。
CSASPNETHighlightCodeInPage, VBASPNETHighlightCodeInPage
下载:
http://1code.codeplex.com/releases/view/62253#DownloadId=215029
http://1code.codeplex.com/releases/view/62253#DownloadId=215108
本示例模拟一个需要在页面上高亮显示代码的系统。事实上为了获得更好的阅读体验,我们有时候需要高亮显示页面中的代码。这样能使我们阅读代码更方便。因此,这个示例解释如何在页面上高亮显示代码。
直接使用String.Replace方法可以替换代码中的关键字从而使得代码在页面上高亮显示。这个方法可以返回一个新字符串,其中当前字符串中出现的所有指定 Unicode 字符或 String 都将替换为另一个指定的 Unicode 字符或 String。而然这可能不是一个最好的方式,因为使用这个方法一个一个替换关键字将使得系统运行缓慢。另外,如果直接使用String.Replace方法,我们很难一次性替换多个关键字使得其在页面上高亮显示。
我们有时候需要从Visual Studio 中拷贝源代码到页面上,为了方便阅读代码,高亮显示代码变得很重要,然而如果直接使用String.Replace方法,我们很难在页面上将不同类型的关键字高亮显示成不同颜色。
对于上述问题,我们需要使用hashtable变量来存储各种代码语言中的关键字和其对应的高亮正则表达式及匹配选项。本示例通过正则表达式的匹配情况,自动替换代码中的关键字为带有样式定义的字符串。
示例截图
1. 高亮代码页面:
在下拉框中选择代码语言,在文本框中拷入代码,然后点击Highlight按钮。
2. 在页面中显示高亮代码:
高亮后的代码会显示在页面右边区域。
CSASPNETPreventMultipleWindows
下载: http://1code.codeplex.com/releases/view/62253#DownloadId=215032
本例是微软一站式示例代码库,一步步阐述了如何在网络应用程序中发现并且阻止出现多 窗口或标签的功能。 本示例代码模拟了一个需要组织多窗口或标签的系统,来解决一些网络应用程序中经常出 现的安全问题,例如Session共享,复制式登陆,数据并发等。实际上,有很多方法可以 达到这个目的,这里给出了一个使用javascript的解决方案,本例展示了如何使用 window.name属性来检查正确的链接请求并把其他的链接交给无效的页面,这里使用 两个用户控件来区分源页面和目标页面,用户只需把用户控件拖拽到合适的地方,因此不 需要在每个页面去写大量重复的代码,这可以减轻编码的工作量并且使你的代码更易于修改
JSVirtualKeyboard
下载:http://1code.codeplex.com/releases/view/62253#DownloadId=215093
该示例演示如何在web页面中通过javascript制作一个简单的虚拟键盘。
CSASPNETDataListImageGallery
下载:http://1code.codeplex.com/releases/view/62261#DownloadId=215267
该示例演示如何使用ASP.NET DataList控件制作一个图片库。
VBASPNETSearchEngine
下载:http://1code.codeplex.com/releases/view/62253#DownloadId=215112
这个示例演示了如何在一个ASP.NET网站里实现一个简单的搜索引擎. 它在SQL语句里使用LIKE条件来搜索数据库. 然后通过使用正则表达式和JavaScript来加亮搜索结果中的关键字.
CSCheckEXEType, VBCheckEXEType
下载:
http://1code.codeplex.com/releases/view/62253#DownloadId=215045
http://1code.codeplex.com/releases/view/62253#DownloadId=215120
这个示例演示如何检查一个可执行文件的类型.
对于一个给定的可执行文件, 我们能获得
1 是不是控制台程序
2 是不是.NET程序
3 是不是32位的Native程序
4 .NET程序的完整显示名, 如System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL
CSIEExplorerBar, VBIEExplorerBar
下载:
http://1code.codeplex.com/releases/view/62253#DownloadId=215060
http://1code.codeplex.com/releases/view/62253#DownloadId=215133
这个示例演示如何创建和部署IE的浏览器栏(IE ExplorerBar). 这个浏览器栏可以用来列出当前页面的所有图片连接.
CSBrowserHelperObject, VBBrowserHelperObject
下载:
http://1code.codeplex.com/releases/view/62253#DownloadId=215044
http://1code.codeplex.com/releases/view/62253#DownloadId=215119
这个示例演示如何创建和部署浏览器帮助程序对象(Browser Helper Object, BHO). 该示例中的BHO用来禁用IE的上下文菜单.
CSWF4ActivitiesCorrelation
下载:http://1code.codeplex.com/releases/view/62253#DownloadId=215085
设想有这么两个正在运行的工作流实例
start start
| |
Receive activity Receive activity
| |
Receive2 activity Receive2 activity
| |
如果一个WCF 请求要访问 Receive2 活动,那么这个请求该由那个工作流来处理呢?
答案是Correlation(关联),这个例子将为您展示如何将两个工作流连接在一起工作。