编程技巧 - 文章列表

  • ASP.Net中无法用JS实现图片随屏幕移动的解决办法

    在纯HTML文件中用javascript可以正常实现图片随屏幕移动,但是同一段javascript代码在asp.net页面中就没有半点反应,图片无法随屏幕移动。主要原因:在asp.net页面中,使用如下标准:<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>\n<html xmlns=”http://www.w3.org/199

  • 在C#中动态调用native dll的导出函数

    在 C++ 中我们能够通过 LoadLibrary, GetProcAddress 来动态调用 dll 的导出函数.在 C# 中也能够用这样的方式吗?在 DotNet 2.0 里面这样是可以的, 这完全得益于 2.0新增的一个函数Marshal.GetDelegateForFunctionPointer 方法 此方法在 .NET Framework 2.0 版中是新增的。 \n将非托管函数指针转换为委托。 实例代码如下:\npublic delegate int MsgBox(int hwnd,string msg,string cpp,int ok);[DllImport(\"Kernel

  • C# 2.0 套接字编程实例初探

    首先从原理上解释一下采用Socket接口的网络通讯,这里以最常用的C/S模式作为范例,首先,服务端有一个进程(或多个进程)在指定的端口等待客户来连接,服务程序等待客户的连接信息,一旦连接上之后,就可以按设计的数据交换方法和格式进行数据传输。客户端在需要的时刻发出向服务端的连接请求。这里为了便于理解,提到了一些调用及其大致的功能。使用socket调用后,仅产生了一个可以使用的socket描述符,这时还不能进行通信,还要使用其他的调用,以使得socket所指的结构中使用的信息被填写完。  在使用TCP协议时,一般服务端进程先使用socket调用得到一个描述符,然后使用bind调用将一个名字与soc

  • 关于ASP.net服务器的入侵方法详解

    有个朋友在QQ上问了我关于ASP.net服务器的入侵方法我将ASP.net上的一些入侵常用手段告诉大家\n1.ASP中常用的标准组件:FileSystemObject,这个组件为 ASP 提供了强大的文件系统访问能力,可以对服务器硬盘上的任何有权限的目录和文件进行读写、删除、改名等操作。FSO对象来自微软提供的脚本运行库scrrun.dll中。使用下面的代码就可以在ASP中创建一个FSO对象:Set fso = CreateObject(“Scripting.FileSystemObject”)我们使用fso对象包含的属性和方法,如Drive、Drives、Folder

  • 叩开C#之门系列之几个重要名词

    初学者很容易把这些概念搞混淆。先说说项目(Project),通俗的说,一个项目可以就是你开发的一个软件。在.Net下,一个项目可以表现为多种类型,如控制台应用程序,Windows应用程序,类库(Class Library),Web应用程序,Web Service,Windows控件等等。如果经过编译,从扩展名来看,应用程序都会被编译为.exe文件,而其余的会被编译为.dll文件。既然是.exe文件,就表明它是可以被执行的,表现在程序中,这些应用程序都有一个主程序入口点,即方法Main()。而类库,Windows控件等,则没有这个入口点,所以也不能直接执行,而仅提供一些功能,给其他项目调用。  

  • ASP.NET实现文件的在线压缩和解压缩

     我们经常会遇到批量上传的问题,也会遇到将某个目录下所有文件都上传到服务器上的问题。那么,如何解决此类问题呢?以前的技术一般采用ActiveX等方式,这里笔者采用SharpZlib来实现,听说VS2005已有压缩和解压缩的解决方案,笔者还没有时间用VS2005,所以就只好使用VS2003 + SharpZlib来解决问题了。   1、首先从这里下载0.84版本的SharpZlib源码及示例码。  2、下载下来之后你发现它没有VS2003的解决方案文件,没有关系。你可以自己建立,首先新建一个ZipUnzip的解决方案,然后,将上面经过解压缩之后的所有文件及目录COPY到你的解决方案所在的目录下。

  • ASP.NET2.0实现网站的自动升级

    网站的自动升级主要是要实现从一台服务器上下载某些文件到本服务器上,然后对下载下来的文件进行更新等操作。\n  比如,现在有服务器A,服务器B和客户端C。\n  作为COM公司开发的产品DIV网站系统被安装到服务器B上,而它的更新设置及更新文件则在服务器A上。当客户C访问服务器B的网站时,B从A上下载更新文件,然后进行更新操作。\n  其中虽然第四步最重要,是逻辑的核心,但是下载什么文件,怎么下载也捆饶着我们。\n  这里介绍的ASP.NET2.0是VB.NET。VB.NET 引入了一个新的命名空间 —— My . My空间包含很多内容,我们这里就说一个。可能很多人都注意到了,就是

  • C#多线程-不同线程之间通过事件委托封送调用方法

    前两天做了一个自定义单件Timer,该Timer能够根据相应数据记录(Row)中的记录ID和设定分钟Minutes 做相应的事件调用,但是如果此事件处理程序在一Form中时则不能正确调用它,但是把82到93行的注释去掉就可以了。Timer大体定义如下:1 using System; 2 using System.Threading; 3 using System.ComponentModel; 4 using System.Windows.Forms; 5 6 /************************************************************

  • ASP.NET入门随想之检票的老太太

    检票的老太太们 – 验证器架构  WEB应用程序是基于表单来输入数据。为了确保数据有效性,我们必须在服务端对输入数据进行检验,但考虑到用户感受,往往又在客户端插入些javascript脚本。客户端验证就像我们呼吸空气时的鼻子,先把颗粒物杂质等阻挡在外面,从而大大减轻了肺的负担;服务器端验证是构建安全Web应用程序必需的,只有服务器端验证才可以提供真正应用程序级的安全。双重校验,琐碎无聊,怪不得没几人喜欢。  .NET首先将验证器与验证对象分离成两个部份,验证对象暴露验证属性,检票员们分头监督验证对象,完成数据校验,比较复杂的校验可以让几位检票员一起守着;每个页面需要一位领头,让她拿

  • ASP.NET中散列加密密码

    private void LoginButton_Click(object sender,System.EventArgs e){ String sql=String.Format(“select password from Administrator where AdminID=’{0}’,UseridBox.Text); SqlConnection conn=new SqlConnection(ConfigurationSettings.AppSettings[\"connectionString\"]); Sq