08 2012 档案
摘要:winXP或win2003具体方法:开始>运行>gpedit.msc打开组策略依次点:计算机配置>管理模板>终端服务>客户端/服务器。右边有一个“允许音频重定向”,设置为“已启用”,注销后再登录就OK了。win7或win2008r2具体方法:开始>运行>gpedit.msc打开组策略依次点:计算机配置>管理模板>Windows 组建>远程桌面服务>远程桌面会话主机>设备和资源重新定向。右边有一个“允许音频和视频播放重定向”,设置为“已启用”,注销后再登录就OK了。在Window2008R2里面好像上面的方法不成功,具体我也
阅读全文
摘要:加密和认证 首先我们需要区分加密和认证这两个基本概念。 加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听攻击。其重点在于数据的安全性。身份认证是用来判断某个身份的真实性,确认身份后,系统才可以依不同的身份给予不同的权限。其重点在于用户的真实性。两者的侧重点是不同的。公钥和私钥公钥和私钥就是俗称的不对称加密方式,是从以前的对称加密(使用用户名与密码)方式的提高。 在现代密码体制中加密和解密是采用不同的密钥(公开密钥),也就是非对称密钥密码系统,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不..
阅读全文
摘要:说明:你希望自己用.net辛辛苦苦做出来的软件被人轻易破解吗?你希望自己花了大量人力物力用.net开发出来的产品被竞争对手轻易获取核心代码吗?这是一篇比较详尽地介绍如何保护自己的.net源代码的文章,如混淆、加密和强名称等,出于保护原作者的角度,所以本人没有掐头去尾作为自己个人的文章,正因为是全文转载,所以并不代表本人完全赞同作者的全部观点,也不代表本人本人提作者提到的软件做广告,这一点请大家注意,不要认为我为别人做广告而骂我,其实我根本不认识作者。一.前言大家好,我是康世杰,大家可以叫我Jason。我和大家一样,都是搞技术出身,也未当过讲师,所以口材有限,如果讲得不好之处,还希望大家多多海含
阅读全文
摘要:强名称是由程序集的标识加上公钥和数字签名组成的。其中,程序集的标识包括简单文本名称、版本号和区域性信息(如果提供的话)。强名称是使用相应的私钥,通过程序集文件(包含程序集清单的文件,并因而也包含构成该程序集的所有文件的名称和散列)生成的。Microsoft® Visual Studio® .NET和在.NET Framework SDK中提供的其他开发工具能够将强名称分配给一个程序集。强名称相同的程序集应该是相同的。通过签发具有强名称的程序集,您可以确保名称的全局唯一性。强名称还特别满足以下要求:1)强名称依赖于唯一的密钥对来确保名称的唯一性。任何人都不会生成与您生成的相同
阅读全文
摘要:我想,现在已经有不少朋友在项目中使用了MVVMLight了吧,如果你正在做WPF,Silverlight,Windows Phone的开发,那么,你有十分必要的理由了解MVVM和MVVMLight。我写这篇文章的目的,是给大家做一个总结,以便更多的朋友了解并掌握MVVM。 首先,要说一下MVVM的概念。MVVM严格来说,并不是一种框架,而是一个设计的模式吧。与它有关的设计模式还有MVC (现在广泛用于Web应用中),以及MVP(之前有用过在Windows Forms和WPF中) 如果你希望对MVVM有更加感性地认识,我推荐你看下面这篇文章。http://www.codeproject.com.
阅读全文
摘要:Light中定义了类GalaSoft.MvvmLight.Command.RelayCommand这个类继承了ICommand方法,实现了其中的方法,Action就是一个方法参数// 摘要: // A command whose sole purpose is to relay its functionality to other objects // by invoking delegates. The default return value for the CanExecute method // is 'true'. This class...
阅读全文
摘要:先来一个讲TCP、UDP和HTTP关系的1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TCP协议与UDP协议。在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。因此,HTTP本身就是一个协议,是从Web服务器传输超文本到本地浏览器的传送协议。2、HTTP协议是建立在请求/响应模型上的。首先由客户建立一条与服务器的TCP链接,并发送一个请求到服务器,请求中包含请求方法、URI、协议版本以及相关的MIME样式的消息。服务器响应一个状态行,包含消息的协议版本、一个成功和失败码
阅读全文
摘要:串行通讯简单认识 串行通讯的基本概念:与外界的信息交换称为通讯。基本的通讯方式有并行通讯和串行通讯两种。 一条信息的各位数据被同时传送的通讯方式称为并行通讯。并行通讯的特点是:各数据位同时传送,传送速度快、效率高,但有多少数据位就需多少根数据线,因此传送成本高,且只适用于近距离(相距数米)的通讯。 一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。串行通讯的特点是:数据位传送,传按位顺序进行,最少只需一根传输线即可完成,成本低但送速度慢。串行通讯的距离可以从几米到几千米。 根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。信息只能单向传送为单工;信息能双向传送...
阅读全文
摘要:刚刚第三篇的发布时,cnblog告诉我一个小时里不能发两次精华。可是我写一千来字都花不了一个小时。今天思路比较快一些,呵呵。 最后,我再聊聊我新近观察的一个项目的运作,来分享一下我的第三层认识。 在达到了第二层关于政治风险的认识水平之后,我保持了这个认识水平有一段时间。当然我也无法左右公司高层的选择,反正有钱就花吧!只是有些系统自己要用的,难用成那样实在不爽,有时候也不免发发牢骚。 我有一个哥儿们混得挺好,他新近管着一个项目,这个项目也是由IBM指导实施的,但听说最初决定这个项目由谁来做时,也是某个领导一番沉思之后决定的,但那位领导不说什么理由, 只是思考之后做了这个决定而已。 这...
阅读全文
摘要:如前面所述的,由于很多人已经被洗过脑,还有其他很多操作上的考虑,大家都会很自觉地配合IBM的营销攻势,而且我们也衷心相信:在IBM等软件和硬件的支持下,我们的一个个系统步入了“高档系统”的行列。把.net平台留给了孩子们玩去吧。 其实,IBM,以及其他一些高端厂商(Oracle, BEA等)做承接的项目,大部分的活计是直接再转包给其他国内的小厂商的,他们自己所需要做的,基本只限于“规划、咨询、建议、项目管理方法论”等一些又高端又阳春白雪的工作。 不过说实话,这些大厂商的总结能力真不是盖的,你听了他们的咨询师的课之后,大部分会感觉自己醍醐灌顶,狠不得把自己的所有的系统都推倒了重来!甚至狠不...
阅读全文
摘要:公平地讲,这个项目有很大的技术难度,开发的风险很大。一开始是个烫手项目,倒不是因为有政治方面的问题,高层都肯定是下了决心来做的,但大家都已经算计过了,这个项目的技术难度这么大,有50%的可能性是会做烂掉的,公司里没有多少人敢接手负责。但是这个项目又必须做,最后就指定一个项目负责人来强迫他来做这个项目。 其实这个项目虽然难,但都是技术方面的难度,最少50%可能性是会很成功的。于是负责人就会硬着头皮上马,开始招标什么的。然后,各种厂商也都立即拥过来,各种营销手法来来往往的,也不用多说了,只说这个负责人在最后定标时的心理。 前面说了,这个项目有一定的风险,虽然只有50%,但这50%对于项目责任...
阅读全文
摘要:我是一个从野路子上一路走来的程序员,现在主要用.net做方案。选.net不选jave并没有什么特别的原因,只不过是因为我自己从C开始学起,一直学到C#, 很熟悉这个平台罢了,从业15年了,C#是最方便的一个语言,而VS是最方便的一个工具,因此就很自然地用C#来解决我的一切问题,而这个工具也没有让我失望过,基本上还没有遇上过解决不了的问题。 但是在现在的这家公司里,我却发现了一个很明显的选择倾向,就是90%的项目,都会选择J2ee的平台,.net平台基本上没有什么机会被引入。更有一段时间,公司里甚至规定了:禁止使用.net技术! 这是一家金融公司,一直以来都是以甲方的身份出现的,不知道为什...
阅读全文
摘要:业界普遍接受的观点是:开发思想是重要的,相对而言用什么平台实现是次要的。从这个意义上看Spring.NET(或者说Spring)在构思框架的核心价值的时,着重面向的领域是“依赖注入”和AOP两个方面,但“分布式调用”以及“基于整个调用栈后动态对象生成”这两个概念对于Spring而言只是方面(Aspect)而已,但对于开发人员而言他俩确实是天天都要面对的问题。 Spring.NET继承Java版Spring的衣钵,在一些.NET项目中已经被采用,并且已经被部分企业用作其开发框架的标准组成部分,但对于更大规模或者更小规模的.NET项目而言他处处给人以高不成、低不就的尴尬感觉: 向上,他不像WC..
阅读全文
摘要:Alpha:是内部测试版,一般不向外部发布,会有很多Bug.一般只有测试人员使用。Beta:也是测试版,这个阶段的版本会一直加入新的功能。在Alpha版之后推出。RC:(Release Candidate) 顾名思义么 ! 用在软件上就是候选版本。系统平台上就是发行候选版本。RC版不会再加入新的功能了,主要着重于除错。GA:General Availability,正式发布的版本,在国外都是用GA来说明release版本的。RTM:(Release to Manufacture)是给工厂大量压片的版本,内容跟正式版是一样的,不过RTM版也有出限制、评估版的。但是和正式版本的主要程序代码都是一样
阅读全文
摘要:系统环境:win7 sp1 + vs2010 sp1安装VS插件后报错:System.IO.FileNotFoundException: 未能加载文件或程序集“Microsoft.VisualStudio.Zip.9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它通过阅读网上文章,并查看c:\windows\assembly下的Microsoft.VisualStudio.Zip.9.0的版本号,是8.0;于是我到网上下载了9.0,并卸载了原来的8.0,通过VS命令行执行程序gacutil -i M
阅读全文
摘要:安装完VS2010后再安装MSDN打开“Help Library 管理器 - Microsoft Help 查看器 1.0”提示“请为本地内容选择位置”默认的位置是在“C:/Documents and Settings/All Users/Application Data/Microsoft/HelpLibrary/”将其改变到“D:/Program Files/VS2010 Help Library”点击“确定”后系统报错提示“未能在指定文件夹中创建本地存储区,请选择其他位置。可以检查事件日志以了解详细信息”。 更换路径结果还是一样未能在指定文件夹中创建本地存储区使用“事件查看器”看到如下.
阅读全文
摘要:今天打开VS2010帮助时,出现提示“系统所需的本地内容文件缺失或已损坏。请重新安装Microsoft Help查看器已修复此问题或将帮助设置为联机。”“从磁盘安装内容”等都不能操作了,郁闷。 于是上网寻找解决方法,没过一会就找到解决办法了,就记录了下来。解决方法:1、关闭Help Library管理器,退出Help Library代理。2、在Microsoft Help View安装目录下找到文件“HelpLibManager.exe.config”。 3、将“<add key="FirstTimeRun" value="False" />
阅读全文
摘要:事实上,中文版,英文版的ISO都带了文档。安装方法:【方法一】1、vs2010的ISO光盘文件中,里面会有个ProductDocumentation文件夹,其实这个就是安装MSDN的文件夹了。2、先安装vs2010,运行vs2010,点击help,打开manage help settings,选择帮助文档安装位置(注意:第一次运行需选择足够空间的文件夹位置),选择install content from disk,路径选择光盘中的ProductDocumentation的文件夹里的helpcontentsetup.msha,然后就点ok,add你要安装的MSDN内容,这样就安装好了MSDN了.
阅读全文
摘要:g表示generated,i表示intellisense在vs中利用go to definition找InitializeComponent实现的时候,进入的是.g.i.cs。vs可以不编译的情况下就生成intellisense,为go to definition这样的查找服务的,所以会有这样一个问题。我们知道wp7类定义都是partial的,另一部分是generated的,和到一起才是一个完整的类。
阅读全文
摘要:在WinForm开发中,一般会在窗体或者UserControl中判断当前是否为设计状态,如:if (!this.DesignMode) { // }有时候需要在Load事件中加上一些从服务端获取数据的操作,如果此时是一个UserControl,当把这个UserControl加入到主窗体时,界面(设计状态的界面)就会无法显示,当然能编译通过,正常运行,但是在设计时没有一个直观的界面和无法对界面进行布局还是一件很不爽的事情,所以用这个DesignMode属性来判断当前是否为设计模式,如果是设计模式就不需要从服务端获取数据,这样避免在主界面无法显示的问题.相同的问题再WPF也会存在,也需要在WP..
阅读全文
摘要:VS2010中编译一个开源库,错误提示信息如下:重写成员“SharpVectors.Renderers.Forms.SvgCacheManager.GetCacheInfo(System.Uri)”时违反了继承安全性规则。重写方法的安全可访问性必须与所重写方法的安全可访问性匹配。 解决方法其实很简单,在项目中AssemblyInfo.cs文件里加上如下信息即可: [assembly: System.Security.SecurityRules(System.Security.SecurityRuleSet.Level1)] 引发该错误的原因可参考微软MSDN http://msdn.mic..
阅读全文