C#技术支持
文章平均质量分 68
对信仰的忠诚
面向对象程序设计,设计模式,测试单元,SOLID原则
展开
-
ASP.NET前台代码绑定后台变量方法总结
一般来说,在前台代码的三种位置可能会用到(绑定)后台变量:服务器端控件属性或HTML标签属性JavaScript代码中Html显示内容的位置(也就是开始标签与结束标签之间的内容,如这里(Html标签)或者这里(服务器端控件),它作为占位符把变量显示于符号出现的位置) 对于第一种位置,有一些约束条件: (1)一般的属性要求是字符串型或数值型(下面会提到有些服务器端原创 2013-06-21 09:34:19 · 727 阅读 · 0 评论 -
模拟浏览器创建一个Web请求
//请求的URL var url = "http://192.168.3.13:8080/WF/openapi/deploy.do?modelId={0}"; url = string.Format(url, pid); //创建一个HTTP请求 var request = WebRequest.Cre原创 2014-02-21 09:06:28 · 695 阅读 · 0 评论 -
固定定位消息框
关于 position:fixed; 属性生成绝对定位的元素,相对于浏览器窗口进行定位。 元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定。position:fixed; 可以让网页上的某个元素固定在一个绝对的位置,即使拉动滚动条位置也不发生变化。一般的 position:fixed; 实现方法在右下角...这个 HTML 元素使用转载 2014-02-25 16:37:42 · 600 阅读 · 0 评论 -
C# Ping实例,类似于cmd命令行Ping效果
CMD命令行中,我们可以使用ping IP地址来测试与计算机之间的连通是否正常,延迟时间等。这里我们使用C#代码模拟这样一个操作来Ping一下目标计算机。首先要引用命名空间using System.net.NetWorkInfomation;在发送之前我们需要一个IP地址,在这里我需要一个string类型的数据.string ipstr="192.168.3.1";//原创 2014-02-18 14:19:44 · 2105 阅读 · 0 评论 -
GET和Post的区别
HTTP请求格式:[]在HTTP请求中,第一行必须是一个请求行,用来说明请求累类型、要访问的资源以及使用的HTTP版本。接着是一个头部节点,用来说明服务器要使用的附加信息。在头部节点之后是一个空行,再此之后就可以添加任意的其他数据,也就是请求主体。GET与POST区别HTTP定义了与服务器交互的不同方法,最基本的方法是 GET 和 POST.HTTP-GET原创 2014-02-20 10:31:10 · 491 阅读 · 0 评论 -
IIS 7.0 ASP.NET应用程序生命周期
概述。IIS 7.0 集成管道是一种统一的请求处理管道,它同时支持本机代码和托管代码模块。 实现 IHttpModule 接口的托管代码模块可访问该请求管道中的所有事件。 例如,托管代码模块可用于 ASP.NET 网页(.aspx 文件)和 HTML 页(.htm 或 .html 文件)的 ASP.NET Forms 身份验证。 即使 IIS 和 ASP.NET 将 HTML 页视为静原创 2014-02-20 11:34:13 · 722 阅读 · 0 评论 -
ASP.NET基础 HttpModule
一个HTTP请求到达HttpModule时,整个ASP.NET Framework系统还并没有对这个HTTP请求做任何处理,也就是说此时对于HTTP请求来讲,HttpModule是一个HTTP请求的“必经之路”,所以可以在这个HTTP请求传递到真正的请求处理中心(HttpHandler)之前附加一些需要的信息在这个HTTP请求信息之上,或者针对截获的这个HTTP请求信息作一些额外的转载 2014-02-20 10:07:48 · 502 阅读 · 0 评论 -
ASP.NET基础 HttpHandler
概念:HtttpHandler是HTTP请求的处理中心,也正是在这个HttpHandler容器中,ASP.NET Framework才真正地对客户端请求的服务器页面做出编译和执行,并将处理过后的信息附加在HTTP请求信息流中再次返回到HttpModule中。IHttpHandler:IhttpHandler定义了处理HTTP请求所必须实现的接口。HttpHandler与HttpMo转载 2014-02-20 09:53:02 · 587 阅读 · 0 评论 -
Http运行期与页面执行模型
HTTP运行期:HTTP运行期处理客户端应用程序(例如Web浏览器)进入的一个Web请求,通过处理它的应用程序的适当组件路由请求,然后产生响应并发回提出请求的客户端应用程序。进入的HTTP Web请求最先由IIS Web服务器接收到,它在此请求基于ASP.NET已注册处理的扩展名传送到ASP.NET ISAPI上。HTTP运行期首先创建一个HttpContext对象的实例,它包转载 2014-02-20 10:18:12 · 500 阅读 · 0 评论 -
ASP.NET页生命周期
ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤。 这些步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现。了解 页面生命周期,我们就可以在生命周期的合适阶段编写代码,以达到预期的效果。常规页面生命周期阶段:1.页面请求:页面请求发生在页面生命周期开始之前。用户请求页面时,ASP.NET将确定是否需要分析和编译页(从而开始页面原创 2014-02-20 11:30:02 · 665 阅读 · 0 评论 -
DesignMode设计时
呈现控件时出错,未将对象的引用设置到对象的实例DesignMode 标示 指示是否为设计时解决拖放控件时因为执行了不需要执行的代码而发生的错误 在制作控件的时候容易遇到“呈现控件时出错”“发生了未处理的异常。未将对象引用设置到对象的实例。”这样的错误. 但是在编译时/运行时也都是没有错误的。 分析 如图所示的情况我们称之为“设计时”以区别于转载 2015-06-28 14:28:22 · 784 阅读 · 0 评论 -
NPOI导出Excel
private void btn_ExcOut_Click(object sender, EventArgs e) { dicPageKey["USER_ID"] = UserBusiInfo.USER_ID; if (dicPageKey.ContainsKey("PUR_ORDER_ID")) { dicPageKey.Remove("PUR_ORDER_ID"); } DataTable d原创 2015-09-24 09:53:26 · 479 阅读 · 0 评论 -
SessionID
SessionID的本质一、客户端用cookie保存了sessionID客户端用cookie保存了sessionID,当我们请求服务器的时候,会把这个sessionID一起发给服务器,服务器会到内存中搜索对应的sessionID,如果找到了对应的 sessionID,说明我们处于登录状态,有相应的权限;如果没有找到对应的sessionID,这说明:要么是我们把浏览器关掉了(后面转载 2016-07-28 16:04:52 · 424 阅读 · 0 评论 -
穷举算法
穷举法是基本思想是根据题目的部分条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕。若某个情况验证符合题目的全部条件,则为本体的正解,否则本题无解。穷举法也称为枚举法。// 找100以内的所有偶数。// for ( int a=0;a<100;a++)// {// if (a%2==0原创 2017-11-29 15:14:51 · 707 阅读 · 0 评论 -
Winform跨线程操作
在我们常规开发中,经常会遇到需要跨窗体访问的情况,或者在使用多线程的时候需要跨线程访问数据,虽然有很多处理跨线程的方法,但是大多麻烦。 这为大家提供一个跨线程访问的方式。 Invoke(new Action(() => { //跨线程访问的处理放在这里 }));...原创 2018-05-15 11:51:47 · 435 阅读 · 0 评论 -
远程关机和远程重启
首先我们需要要了解shutdown命令。windows操作系统可以直接在命令行中输入shutdown来重启,关机和注销计算机。用法:shutdown [/i|/l|/s|/r|/g|/a|/p|/h|/e|/f][/m\\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]/? 显示帮助。这与不键入任何选项原创 2014-01-03 14:49:28 · 1077 阅读 · 0 评论 -
C#Timer类使用
在我们使用ASP.NET的timer控件时,觉得很方便,可以简单的使用一个定时器。现在C#有一个Timer类可以达到timer控件一样的效果,但不一样的是,我们不再需要在前台拖放这么一个timer控件。//首先我们必须要实例化一个Timer实例, Timer timer = new Timer();//我们先来准备一个需要定时启动的方法void timer_Elapse原创 2013-12-19 14:54:05 · 1619 阅读 · 0 评论 -
C#序列化与反序列化
为了使数据持久化的保存,很多时候我们需要使用到序列化和反序列化。首先我们需要准备一个可以序列化的类。我们只需要在类上面标记为可序列化就可以了。 [Serializable]//标记为可序列化的类 class Person { string name; public string Name {原创 2013-12-31 15:14:15 · 544 阅读 · 0 评论 -
软件的三层架构
引言三层结构是传统的客户/服务器结构的发展,代表了企业级应用的未来,典型的有Web下的应用。多层结构和三层结构的含义是一样的,只是细节有所不同。之所以会有双层、三层这些提法,是因为应用程序要解决三个层面的问题。一、 软件架构和分层(一) 软件架构(software architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。 软件架构是一个系统的草图。软件原创 2013-07-01 14:32:56 · 1044 阅读 · 0 评论 -
C#网络爬虫
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using Sy原创 2013-09-10 12:16:15 · 707 阅读 · 0 评论 -
C#文件下载的方法
using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.W原创 2013-09-29 17:29:41 · 522 阅读 · 0 评论 -
C#Excel导入导出
Excel导入原理:利用上传控件将Excel文件保存在站点目录下,再把Excel当做数据库,创建连接,将Excel里面的内容读取出来,填充到DateSet中。//第一步:把上传控件选中的excel文件,上传到站点下UpLoadFiles if (FileUpload1.HasFile == false) {原创 2013-10-10 10:01:01 · 846 阅读 · 0 评论 -
C#利用ThoughtWorks.QRCode.dll创建和解析二维码
private void button2_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(textBox1.Text.Trim())) { string enCodeString = textBox1.Text.Trim原创 2013-10-10 14:50:22 · 5572 阅读 · 3 评论 -
C#实现文件下载的几种方法
一、a标签在a标签的url上指定文件的路径,这样,点击a标签就可以实现文件下载。二、利用response对象原理:将文件以文件流的形式打开,将流中数据读取到字节数组中,利用response.write将字节数组发送到前台,这样,就会提示文件下载。原创 2013-09-25 09:08:19 · 1665 阅读 · 0 评论 -
CNG算法的标识符
CNG算法的标识符以下标识符是用来识别在各种CNG功能和结构,如的CRYPT_INTERFACE_REG结构中的标准加密算法。第三方供应商可能有额外的算法,他们支持。恒/值描述BCRYPT_3DES_ALGORITHM“3DES”三重数据加密标准的对称加密算法。标准:SP800-67,SP800-38A原创 2013-09-26 17:54:07 · 3136 阅读 · 0 评论 -
MINE类型
最早的HTTP协议中,并没有附加的数据类型信息,所有传送的数据都被客户程序解释为超文本标记语言HTML 文档, 而为了支持多媒体数据类型,HTTP协议中就使用了附加在文档之前的MIME数据类型信息来标识数据类型。 MIME意为多目Internet邮件扩展,它设计的最初目的是为了在发送电子邮件时附加多媒体数据, 让邮件客户程序能根据其类型进行处理。然而当它被HTTP协议支持之后,它原创 2013-10-12 17:16:33 · 3320 阅读 · 0 评论 -
C#获取计算机唯一标识CPUID,DISKID,MAC等
using System;using System.Management;using System.Security.Cryptography;using System.Security;using System.Collections;using System.Text;namespace Security{ /// summary> /// Generates a原创 2013-11-11 17:03:01 · 9506 阅读 · 1 评论 -
HTTP请求
一、创建一个GET方式的请求//请求的URL var url = "http://192.168.3.2:8080/WF/openapi/deploy.do?modelId={0}"; url = string.Format(url, pid); //创建一个HTTP请求 HttpWebRequest req原创 2013-12-10 09:57:30 · 838 阅读 · 0 评论 -
获取计算机中安装的软件目录及路径
using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Uninstall", false)) { if (key != null)//判断对象存在 {原创 2013-12-12 15:58:29 · 1020 阅读 · 0 评论 -
获取、创建、修改、删除注册表
C#中提供了对操作系统注册表的方法。首先我们必须引用using Microsoft.Win32;这个命名空间才能够对操作系统的注册表进行操作。获取注册表的所有子项: RegistryKey hkm = Registry.CurrentUser;//我们可以获取到HKEY_CURRENT_USER的注册表下的信息,当然我们也可以获取到其他基表的信息原创 2013-12-13 14:14:40 · 739 阅读 · 0 评论 -
C#反射及实例
1 反射技术 反射(Reflection)是.NET中的重要机制,通过反射,可以在运行时获得.NET中每一个类型(包括类、结构、委托、接口和枚举等)的成员,包括方法、属性、事件,以及构造函数等。还可以获得每个成员的名称、限定符和参数等。有了反射,即可对每一个类型了如指掌。如果获得了构造函数的信息,即可 直接创建对象,即使这个对象的类型在编译时还不知道。 1.1 .NET可执行应用程原创 2013-12-30 13:40:16 · 444 阅读 · 0 评论 -
七层架构的搭建及引用关系
Model实体层,DBUtility数据访问类,IDAL数据访问接口层,SQLServerDAL数据访问层,DALFactory数据访问工厂类,BLL业务逻辑层,UI界面层一、项目名称及描述:1、Model=业务实体 2、IDAL=数据访问层接口定义3、DBUtility 数据库访问组件基础类4、SQLServerDAL=SQLServer数据访问层 / OracleDAL=O原创 2013-12-30 13:49:25 · 941 阅读 · 0 评论 -
log4net 日志记录配置
配置文件:<?xml version="1.0" encoding="utf-8" ?><configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net&原创 2018-06-07 16:20:46 · 598 阅读 · 0 评论