![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
.Net/C#
AdamChin
这个作者很懒,什么都没留下…
展开
-
通过生成序列号防止软件拷贝的基本思路
<br />软件产品卖出去以后,如何防止客户在多台电脑上重复安装呢?最偷懒的方法就是使用别人的硬件加密狗解决,但是这样的话一来随着销售量的积累会增加成本,二来很多客户不想在电脑上插如此多的加密狗(因为其他的软件可能也需要用加密狗,会导致USB接口紧张)。<br />那我们还可以通过软加密的方式,即唯一序列号的形式,来代替硬件加密狗。<br /> <br />基本思路如下:<br />1. 在前期给客户安装的都是试用版本。试用形式分为三种:A. 时间限制;B. 次数限制;C.功能限制。<br />2. 客户在原创 2011-03-01 10:10:00 · 3450 阅读 · 0 评论 -
产品加密之获取服务器硬件信息(主板,CPU,硬盘,内存等)
在很多情况下,你可能都需要得到微机的硬件信息。比如:你想给你的软件加锁,不让别人随便访问。最有效的办法是获取CPU的序列号,然后让你的软件只能运行在有这样的CPU序列号的机器上。众所周知,CPU序列号是唯一的!因此,这样就可以为你的软件加锁了。另外一个需要硬盘信息的例子是:硬盘有几个分区,每个分区各有多少剩余空间。当你正在做一个多媒体应用程序的时候,你可能也需要获得有关声卡、显卡的硬件信息。首先,你必须知道这个应用程序的功能是使用System.Management这个类得到的。因此,你需要加上下面的这句话:原创 2011-02-23 16:18:00 · 4422 阅读 · 1 评论 -
将IIS默认ASP.NET版本升级为2.0
当程序是在Framework2.0框架上运行的,而在iis中的默认.net环境是1.1。这时将发生不可识别的节点的问题。解决办法:将.net环境升级为2.0,开始-》运行-》cmd-》C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis.exe -i原创 2010-06-24 15:51:00 · 1964 阅读 · 0 评论 -
MVC+IOC框架下基于构造器注入的原理分析
有不少人可能会认为,如果抽象工厂模式再加上反射的话,跟IOC容器非常类似。但实际不是这样,IOC有两个特性,控制反转和依赖注入,两者其相辅相成,密不可分, 这两点工厂模式都没有做到,我们依然要通过手动调用工厂的方法生成实例,控制方依然没有改变,就是说创建对象的工作依然是在原来的调用者内部完成。IOC容器有三种注入途径:接口,构造器,setter。由于构造器注入使用起来简单清晰,所以实际项目中使用比原创 2016-07-13 18:08:41 · 1505 阅读 · 0 评论 -
IL指令速查
名称说明Add将两个值相加并将结果推送到计算堆栈上。Add.Ovf将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上。Add.Ovf.Un将两个无符号整数值相加,执行溢出检查,并且将结果推送到计算堆栈上。And计算两个值的按位“与”并将结果推送到计算堆栈转载 2016-10-20 14:35:56 · 679 阅读 · 0 评论 -
Team Foundation Server 2012 安装配置过程和注意事项
1. 安装过程很简单,省略。2. 安装完成后会自动弹出Team Foundation Server管理控制台启动向导,填写一些配置,过程也很简单。3. 之后需要修改TFS默认端口号8080,以免和其他软件冲突。来到应用层,点击管理URL,将通知URL和服务器URL两处的8080改为自定义的8999。4.切换到团队项目集合,默认有一个DefaultCollection,千万不要删除,否则原创 2017-06-25 20:57:22 · 1816 阅读 · 0 评论 -
对于Quartz的时间配置符号中?的终极说明
看了官网对于?的解释是不指定特定的值,表示的是在“期内“的意思,总感觉比较虚,没有捅破最后一层窗户纸,需要读者自己去领悟。对于?的作用我是这样理解的:官网表示,只有日和周这两个字段可以使用?。而且日和周不能同时为*,为何?日和周有什么共同点?只有日和周在每个月的值是不固定的,一个月可以有28,29,30,31四种可能的天数,也可能横跨5周到6周,但是1分有60秒,1小时有60分,1周有7天,一原创 2017-08-25 10:44:58 · 523 阅读 · 0 评论 -
修改Team Foundation Server源代码服务器的绑定地址
如果原有TFS的ip发送改变时,代码所绑定的地址如何更新为最新的?修改 解决方案文件**sln1. 将文件的只读属性去掉2. 在解决方案文件**sln中找到如下段落,更新SccTeamFoundationServer的值:------------------------------------------------GlobalSection(TeamFoundationVer原创 2017-09-07 10:19:29 · 1753 阅读 · 0 评论 -
nodeName、nodeValue和nodeType之间的关系
nodeName 属性含有某个节点的名称。 元素节点的 nodeName 是标签名称 属性节点的 nodeName 是属性名称 文本节点的 nodeName 永远是 #text 文档节点的 nodeName 永远是 #document 注释:nodeName 所包含的 XML 元素的标签名称永远是大写的 nodeValue 对于文本节点,nodeValue 属性包含文本原创 2014-12-30 15:19:09 · 718 阅读 · 0 评论 -
元素与节点
元素就是元素节点,是所有节点中的一种,其他节点还包括属性节点,文本节点,备注节点,指令节点等等,XML 文档中的每个成分都是一个节点。DOM 是这样规定的:整个文档是一个文档节点每个 XML 标签是一个元素节点包含在 XML 元素中的文本是文本节点每一个 XML 属性是一个属性节点注释属于注释节点原创 2014-12-30 15:19:30 · 718 阅读 · 0 评论 -
WinSock
套接字的本质是通信过程中所要使用的一些缓冲区及一些相关的数据结构。下面通过WSA(WinSock API)构建最基本的C/S通信程序。1.服务器创建监听套接字,并为它关联一个本地地址(IP和端口Port),然后进入监听状态准备接受客户的连接请求。为了接受客户的连接请求,服务器必须调用accept函数。服务器端每接收到一个客户端连接就新建一个套接字负责与该客户会话。2.客户端创建套接字后即可调用connect函数去试图连接服务器监听套接字。当服务器端的accept函数返回后,connect函数也返回。此时客户转载 2011-02-20 18:50:00 · 901 阅读 · 0 评论 -
ASP.NET常用路径获取方法与格式对照表
假设我们的网址为http://localhost:1897/ News/Press/Content.aspx?id=1019跟 Browser Request 的网址相关的属性与方法输出(output)实例备 注Request.ApplicationPath / 指的是当前的application(应用程序)的目录Request.PhysicalPath D:/Projects/Solution/web/News/Press/Content.aspx磁盘驱动器代号:/父目录/子目录/Conte转载 2010-10-23 10:24:00 · 858 阅读 · 0 评论 -
读取与写入
TextReader:StringReader,StreamReaderStringReader sr = new StringReader(string str) 将字符串封装成TextReader类型TextWriter:StringWriter,StreamWriterXMLReader:XMLTextReaderXMLWriter:XMLTextWriter原创 2014-12-30 15:21:54 · 827 阅读 · 0 评论 -
Activity生命周期
Activity生命周期过程OnCreate:加载数据和控件等内容,类似于Init初始化OnStart:此方法让界面在屏幕上可见(但不负责获得焦点)OnResume:获得用户焦点,在OnStart显示界面后,理所当然的再获取焦点,这样用户才可以与其进行交互,而不是仅仅看到而已。延伸:如果Activity处于Pause状态,则OnResume即可然其重获焦点;原创 2014-12-30 15:24:46 · 533 阅读 · 0 评论 -
用ILmerge工具将C#中的EXE和DLL文件合并成单个文件
下载 ILmerge 工具 打开CMD控制台,进入ILmerge.EXE所在的文件夹在这里可以将几个DLL文件合并成一个DLL文件,或者将DLL合并到EXE文件中1、合并DLL将 AppD1.dll、AppD2.dll、AppD3.dll 三个DLL文件合并为 AppD.dll,并保存到F盘根目录执行命令:ILmerge /ndebug /tar转载 2011-11-11 12:07:13 · 3350 阅读 · 3 评论 -
导入Excel2007/2010出现“找不到可安装的 ISAM”错误的原因
在做批量导入时2003版本的Excel文件可以顺利导入,一般使用的连接语句如下:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/1.xls;Extended Properties='Excel 8.0;HDR=YES;IMEX=1'但当导入Excel2007版本的文件时,即使将上面语句的版本从8.0改为12.0,问题依旧。在网上查了很多,不论是注册各种组件,还是修复OFFICE都无法解决问题。其实真正的原因是驱动不能再用Jet,而应该用ACE,所以正确的连接语原创 2011-04-11 16:02:00 · 19185 阅读 · 12 评论 -
C# SOCKET UDP通信实例
服务端:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Net;usi原创 2011-04-01 17:52:00 · 11037 阅读 · 3 评论 -
HttpModule在IIS7集成模式下静态资源请求可能带来的问题
众所周知,HttpModule常用来做一些身份,权限之内的验证,而这些验证都是动态请求,静态资源的请求一般都不会进入httpmodule中来,这是因为IIS6和IIS7的经典模式中动态请求都是走的ISAP管道,再到达Httpmodule,而静态资源则直接返回到客户端,这样就做到了过滤静态资源的目的,但是在IIS7默认的集成模式下,你会发现像脚本,图片,样式等等静态资源的请求也会进入httpmodu原创 2015-12-28 14:36:52 · 2983 阅读 · 1 评论 -
node不转换成elment直接获取属性的值
有一种方法,需要将node 强制转换为element,再使用element.GetAttribute("属性名")来获取;还有一种更快的方式node.Attributes.GetNamedItem("属性名").value。原创 2014-12-30 15:21:17 · 1103 阅读 · 1 评论 -
ASP.NET预编译发布后访问出现异常:The type 'ASP.global_asax' exists in both ....
将一个ASP.NET项目由预编译方式改为动态编译方式时,删除了bin文件夹中所有扩展名为.compiled文件以及文件名以App_Web_开头的文件。访问却出现下面的错误:System.Web.HttpCompileException (0x80004005): 类型“ASP.global_asax”同时存在于“x:\App_global.asax.vxgnli4q.dll”和原创 2017-09-20 15:16:34 · 1923 阅读 · 0 评论