C#.NET
gaozhigang
再长的路,一步步也能走完,再短的路,不迈开双脚也无法到达.
展开
-
Autofac创建类的生命周期
1、InstancePerDependency对每一个依赖或每一次调用创建一个新的唯一的实例。这也是默认的创建实例的方式。官方文档解释:Configure the component so that every dependent component or call to Resolve() gets a new, unique instance (default.) 2、InstancePerL...原创 2018-06-08 14:03:08 · 823 阅读 · 0 评论 -
C#修改注册表
<br />/// <summary> /// 开机启动项 /// </summary> /// <param name="Started">是否启动</param> /// <param name="name">启动值的名称</param> /// <param name="path">启动程序的路径</param> public void RunWhenStart(bool Start原创 2010-11-30 15:05:00 · 645 阅读 · 0 评论 -
web.config文件中customErrors标记的用法
<br />详细信息: 若要使他人能够在远程计算机上查看此特定错误信息的详细信息,请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 <customErrors> 标记。然后应将此 <customErrors> 标记的“mode”属性设置为“Off”。<br /><!-- Web.Config 配置文件 --><br /><configuration><br /> <system.web><br /> <customErrors mode="Off"/><原创 2010-09-30 11:50:00 · 3320 阅读 · 0 评论 -
GridView动态创建templateField
<br /> 今天有些时间,把用cs代码添加编辑列及动态添加编辑模板作了整理。动态添加编辑列比较简单,即 <br />TemplateField tf=new TemplateField(),但难得是 往编辑列里动态添加编辑模版项 ItemTemplate。那天上网找了好多资料,才找到解决方法。先创建一个类继承模板接口 ITemplate,用构造函数实现返回Template类。废话不多说了,现给出例子,看了就清楚了。例子延续前面的动态绑定字段列的。<br />创建Template 的类 cs:GVItemT转载 2010-09-15 10:34:00 · 4556 阅读 · 0 评论 -
Asp.net让某一页设置成gb2312或utf-8的方法
<br />有些需求,一定要用到utf-8格式,在web.config里面设置<br /><globalization <br /> requestEncoding="utf-8" <br /> responseEncoding="utf-8" <br /> fileEncoding="utf-8" <br /> /><br />但是有些程序只支持gb2312格式传送数据,这就需要单独给支付页面设置gb2312编码格式<br />方法是:原创 2010-07-27 12:28:00 · 3312 阅读 · 0 评论 -
c# 内存共享、内存映射文件
using System;using System.Collections.Generic;using System.Text;using System.Runtime.InteropServices;using System.IO;using System.Data.SqlClient;namespace WinApp{ public class Seq原创 2010-05-25 11:45:00 · 5717 阅读 · 1 评论 -
使用DataGrid控件实现以主细表显示数据
DataGridMasterFrom 使用DataGrid控件实现以主细表显示数据 <asp:DataGrid id="dgMaster" style="Z-INDEX: 101; LEFT: 48px; POSITION: absolute; TOP: 64px" runat="server" A原创 2010-05-21 16:50:00 · 618 阅读 · 0 评论 -
关于IP范围的比较
1.sql server 自定义函数比较CREATE FUNCTION dbo.f_IP2Int(@ip char(15))RETURNS bigintASBEGIN DECLARE @re bigint SET @re=0 SELECT @re=@re+LEFT(@ip,CHARINDEX(.,@ip+.)-1)*ID ,@ip=STUFF(@ip,原创 2010-05-24 10:16:00 · 1181 阅读 · 0 评论 -
怎样关联多个 Excel 档工作表(Sheet)中的数据
前不久,有位同事问我有没有办法将两个 Excel 档的数据通过工号整合起来。查阅资料后,得到以下经验,现拿出来与大家一起分享。有人可能要说:“有必要写那么详细吗?” 我认为:大部分使用 Excel 处理数据的人,不象程序员那样能够导入数据库再处理、能够懂得用 SQL 语句的写法,所以每一步我都作了详细图解。一、 检查 Excel 2003 是否已安装数据库查询功能 菜单栏中转载 2009-12-28 13:29:00 · 8794 阅读 · 0 评论 -
c#缓存介绍
缓存主要是为了提高数据的读取速度。因为服务器和应用客户端之间存在着流量的瓶颈,所以读取大容量数据时,使用缓存来直接为客户端服务,可以减少客户端与服务器端的数据交互,从而大大提高程序的性能。本章从缓存所在的命名空间“System.Web.Caching”开始,详细介绍框架提供的缓存类和操作方法,主要涉及简单数据的缓存、数据缓存依赖和数据库缓存依赖三个技术要点,最后演示一个完全使用缓存实现数据转载 2009-07-13 12:54:00 · 1400 阅读 · 0 评论 -
3种Timer的用法(转)
关于C#中timer类 在C#里关于定时器类就有3个 1.定义在System.Windows.Forms里 2.定义在System.Threading.Timer类里 " 3.定义在System.Timers.Timer类里 System.Windows.Forms.Timer是应用于WinForm中的,它是通过Windows消息机制实现的,类似于VB或Delphi中的Timer控件转载 2009-09-07 09:37:00 · 636 阅读 · 0 评论 -
GridView 72般绝技
快速预览:GridView无代码分页排序GridView选中,编辑,取消,删除GridView正反双向排序GridView和下拉菜单DropDownList结合GridView和CheckBox结合鼠标移到GridView某一行时改变该行的背景色方法一鼠标移到GridView某一行时改变该行的背景色方法二GridView实现删除时弹出确认对话框GridView实现自动编号GridView实现自定义转载 2009-08-17 11:42:00 · 408 阅读 · 0 评论 -
vs2003报“试图运行项目时出错无法启动调试,没有正确安装调试器”
<br />当你遇到“试图运行项目时出错:无法启动调试,没有正确安装调试器。请运行安装程序安装或修复调试器”,请尝试下面的操作可以解决你的问题:<br />1、在命令行中尝试重新注册mscordbi.dll(regsvr32 mscordbi.dll)文件,该文件位于(C:/WINNT/Microsoft.NET/Framework/v1.1.4322请找到你本机的这个对应的目录)。<br /><br />2、在命令行中尝试重新注册oleaut32.dll(regsvr32 oleaut32.dll)<br原创 2010-12-27 14:36:00 · 819 阅读 · 0 评论 -
Web Service 函数重载
<br />1. 错误的写法<br />[WebService(Namespace = "http://192.192.15.131/")]<br />[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]<br />public class UserWebService : System.Web.Services.WebService <br />{<br /> [WebMethod]<br /> public strin原创 2010-11-16 15:43:00 · 2965 阅读 · 0 评论 -
ASP.NET 防盗链的实现[HttpHandler]
<br />有时我们需要防止其他网站直接引用我们系统中的图片,或下载文件链接。需要禁止盗链!在ASP.NET中可以方便的实现该功能!<br />做一个简单的盗链图片的示例,如下。新建立一个WebApplcation。新建立一个images文件夹,里面二张jpg图片,一张logo.jpg正常图片,一张用于提示非法盗链的图片Error.jpg图片。<br />页面default.aspx页面很简单。就一个图片如下<form id="form1" runat="server"><br /> <div><br转载 2010-11-18 09:21:00 · 921 阅读 · 1 评论 -
简单的依赖注入之Autofac使用
1.在“工具”->“NuGet包管理器”->"程序包管理器控制台"执行一下代码,安装autofac。 Install-Package Autofac 当使用 autoFac 开发ASP .net 遇到 ContainerBuilder() 不包含RegisterControllers 方法解决方案(MVC环境下,注入Controller需要安装包)Install-Package A...原创 2018-06-08 14:01:49 · 686 阅读 · 0 评论 -
AutoFac实现程序集级别的依赖注入
1.在“工具”->“NuGet包管理器”->"程序包管理器控制台"执行一下代码,安装autofac。 Install-Package Autofac 当使用 autoFac 开发ASP .net 遇到 ContainerBuilder() 不包含RegisterControllers 方法解决方案(MVC环境下,注入Controller需要安装包)Install-Package A...原创 2018-06-08 09:57:18 · 2643 阅读 · 0 评论 -
巧妙实现 Form 表单认证跨站点、跨服务器的单点登录(Single Sign On)
前三篇在 CSDN 论坛公布后,效果如同“神仙放屁——果然不同凡(反)响”。为感谢广大网友的热情与支持,这不,经过这一阵子的酝酿、修炼,特意准备了这第四响。 之前我们讲述的使用 Form 认证实现单点登录,正如网友所说的那样,只能在同一域名下使用。对于跨域名的单点登录,除了使用 Passport 认证外,我们还是可以用 Form 认证的,只是要讲究方法而已啦。正所谓“山不转水转,人不转心转转载 2009-12-28 13:20:00 · 2701 阅读 · 0 评论 -
实现单点登录(Single Sign On)
“等了好久终于等到今天,写了好久终于就快完结,但是网友的反应却让我有一些的伤心。盼了好久终于盼到今天,忍了好久终于把此文撰写,那些受冷落的无奈早就无所谓,累也不说累”(歌词《今天》新演绎)。看着人家的 Blog 文章的评论是一条接一条,再瞧瞧自己:“无人问津呐,真…无…奈……唉,没人理我,还是回家吧。”“哎,还没开始写,怎么就走了?回去干什么呢?”回去写作业去啊,上回交待的课外作业你做了没?(注:转载 2009-12-28 13:18:00 · 841 阅读 · 0 评论 -
设置IE兼容模式
一.指定文件兼容性模式要为你的网页指定文件模式,需要在你的网页中使用meta元素放入x-ua-compatible http-equiv 标头。1. 强制ie8使用ie8模式来解析,而且那个兼容性视图按钮也被去掉了2. google chrome frame也可以让ie用上chrome的引擎:3.强制ie8使用ie7模式来解析 或者 4.强制ie8使原创 2012-07-31 10:04:24 · 12140 阅读 · 0 评论 -
C# Lambda Expressions 简介
原文http://msdn2.microsoft.com/en-us/library/bb397687.aspx翻译:朱之光 (larry1zhu@gmail.com) 1. Lambda简介一个Lambda Expression (译为Lambda式) 就是一个包含若干表达式和语句的匿名函数。可以被用作创建委托对象或表达式树类型。 所有的Lambda式原创 2012-08-09 09:32:23 · 586 阅读 · 0 评论 -
C#委托的异步使用
CLR为每个进程维护了一个线程池,初始时它是空的 。但当一个线程被创建且被进程使用之后,并且完成了它的执行时 ,它并不被销毁,而是加入到进程的线程池中。之后,当进程再次需要线程时,它会重新利用池中的线程,这样节省了大量的时间。线程的复杂性:尽管多线程的概念很简单,但使所有的细节都正确是比较困难的,以下需要被考虑:1〉线程间的通讯, 线程间的通讯仅有很少的内建机制,所以使用内存是最简单的原创 2009-02-23 10:03:00 · 5926 阅读 · 0 评论 -
vs2005无法断点调试网站,断点失效 IE8
没装IE8之前(IE7),Vs2005调试还好用,装了IE8之后, Vs2005的WebSite程序按F5无法正常调试. 需要手动附加到进程, 比较麻烦, 据说还有种方法, 把所有IE窗口都关掉, 再点击启动调试(F5), 调试完之后自动关闭所有窗口, 这种方式更麻烦。解决办原创 2011-08-18 15:38:57 · 675 阅读 · 0 评论 -
解决VS2005 调试时端口号不一致的问题
<br />解决方法一<br />来源:http://msdn.microsoft.com/zh-cn/library/ms178109.aspx为 ASP.NET Development Server 指定端口<br />1、在解决方案资源管理器中,单击应用程序的名称。<br />2、在“属性”窗格中,单击“使用动态端口”旁的下箭头,然后从下拉列表选择“False”。<br /> 这会允许对“端口号”属性进行编辑。<br />3、在“属性”窗格中,单击“端口号”旁的文本框,然后键入一个端口号。<br原创 2011-02-22 09:29:00 · 1171 阅读 · 0 评论 -
从程序员到asp.net架构师转变〔转〕
微软的DotNet开发绝对是属于那种入门容易提高难的技术。而要能够成为DotNet架构师没有三年或更长时间的编码积累基本上是不可能的。特别是在大型软件项目中,架构师是项目核心成员,承上启下,因此 RUP{Rational Unified Process,强调软件开发是一个叠代模型Interative Model),RUP定义了四个阶段(Phase):开端(Inception),阐述(Elaboration),建造(Construction),过渡(Transition)}方法论也认同以架构为核心,体现4+1转载 2011-03-09 15:47:00 · 745 阅读 · 0 评论 -
Microsoft Visual Studio 遇到了问题,需要关闭的一种可能的解决方法(转载)
最近遇到一打开网站就出现 “Microsoft Visual Studio 遇到了问题,需要关闭。向 Microsoft 发送错误报告”这个问题。查过网上的资料,有人说估计是缓存的问题,建议把Microsoft Visual Studio的缓存文件全部删掉,然后重置开发环境,应该是可以解决的。实在不行,保存项目,卸了Microsoft Visual Studio重新安装一遍。清除最近打开的项目如下:手工操作方法:1)删除最近打开的文件运行regedit,打开HKEY_CURRENT_USER/Softwar转载 2011-01-17 09:09:00 · 12529 阅读 · 0 评论 -
C#操作IIS代码
IISServerStateCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System;using System.DirectoryServices;using System.Collections;namespace OPS.Compo转载 2009-08-12 11:56:00 · 541 阅读 · 0 评论 -
MSMQ突破4M限制的方法
在默认情况下msmq 3.0(windows xp ,windows 2003)最大单个消息(Message size)大小4M;(包括正文和全部指定属性的消息的大小不能超过 4 MB。 来自windows 2003帮助文件的说明。) 4M的限制对于一些普通的应用来说已经足够,而且作为消息传递,报文交换,我们推荐的是不要使用超过1M大小的报文。这样可以很好的利用网络带宽,和提高系统的处理性能转载 2009-07-20 09:09:00 · 1868 阅读 · 0 评论 -
Microsoft .Net Remoting系列专题之二 Marshal,Disconnect与生命周期以及跟踪服务
一、远程对象的激活在Remoting中有三种激活方式,一般的实现是通过RemotingServices类的静态方法来完成。工作过程事实上是将该远程对象注册到通道中。由于Remoting没有提供与之对应的Unregister方法来注销远程对象,所以如果需要注册/注销指定对象,微软推荐使用Marshal(一般译为编组)和Disconnect配对使用。在《Net Remoting基础篇》中我已经谈到转载 2008-06-25 10:20:00 · 474 阅读 · 0 评论 -
Microsoft .Net Remoting
一、Remoting基础什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式。从微软的产品角度来看,可以说Remoting就是DCOM的一种升级,它改善了很多功能,并极好的融合到.Net平台下。Microsoft® .NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架。这也正是我们使用Remoting的原因。为什么呢?在Windows操作系统中转载 2008-06-25 09:38:00 · 428 阅读 · 0 评论 -
类的序列化
序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。.NET Framework 提供两种序列化技术: 二进制序列化保持类型保真度,这对于在应用程序的不同调用之间保留对象的状态很有用。例如,通过将对象序列化到剪贴板,可在不同的应用程序之间共享对象。您可以将对象序列化到流、磁盘、内转载 2008-06-27 10:56:00 · 639 阅读 · 0 评论 -
webservice与remoting
从体系结构上说webservice有5个层次: 1. Http传输信道 2. XML的数据格式 3. SOAP封装格式 4. WSDL的描述方式 5. UDDI 从传输方式上:Web Service和remoting传输协议不一样 。 Web Service是http方式,可以穿透防火墙 。remoting是通过socket方式传输数据 。转载 2008-06-26 13:37:00 · 867 阅读 · 0 评论 -
ICSharpCode.SharpZipLib.dll实现压缩解压一个树形目录
using System;using System.IO;using ICSharpCode.SharpZipLib.Checksums; using ICSharpCode.SharpZipLib.Zip; using ICSharpCode.SharpZipLib.GZip;using System.Collections; namespace转载 2008-06-23 13:59:00 · 1751 阅读 · 0 评论 -
C# rss 入门
自 从 developerWorks 上一次考察 RSS 以来,RSS 世界已经发生了很大变化:出现了两种新的规范,RSS 已成为最流行的 XML 标准之一,涌现出了大量的工具和提要(feed)。RSS 为 weblog 的迅速崛起做出了贡献,并且正在成为其他 Web 站点的标准部分。本文回顾 RSS 2.0,考察了 RSS 的新发展,帮助您迅速理解这种重要的格式。自从我上一次为 develo转载 2008-06-20 09:43:00 · 804 阅读 · 0 评论 -
Windows服务
我们将研究如何创建一个作为Windows服务的应用程序。内容包含什么是Windows服务,如何创建、安装和调试它们。会用到System.ServiceProcess.ServiceBase命名空间的类。 什么是Windows服务? Windows服务应用程序是一种需要长期运行的应用程序,它对于服务器环境特别适合。它没有用户界面,并且也不会产生任何可视输出。任何用户消息都会被写进Windows事原创 2008-06-13 15:20:00 · 439 阅读 · 0 评论 -
C#生成PDF表格
//#region ExportToPdf ///// ///// ///// ///// 数据 ///// ColumnName ///// 文件名称 ///// 文件名称 //private void ExportToPdf(DataTable dt, Hashtable ht, Hashtable htMain, string file原创 2008-07-29 09:35:00 · 3848 阅读 · 1 评论 -
用C#制作PDF文件全攻略
PDF文件是目前比较流行的电子文档格式,在办公自动化(OA)等软件的开发中,经常要用到该格式,但介绍如何制作PDF格式文件的资料非常少,在网上搜来搜去,都转贴的是同一段“暴力”破解的方法,代码片断如下: StreamWriter pPDF=new StreamWriter(filePath); ArrayList xRefs=new ArrayList(); float yPos原创 2008-07-28 09:35:00 · 1236 阅读 · 0 评论 -
c#生成PDF文件源码
using System; using System.IO; using System.Text; using System.Collections; namespace PDFGenerator { public class PDFGenerator { static float pageWidth = 594.0f; static float pa转载 2008-07-23 14:21:00 · 1786 阅读 · 0 评论 -
vs 2005 中TreeView 控件checkbox 的回发事件
2003中的TreeView,选中某个节点的checkbox框后,就会自动触发服务器端的事件TreeNodeCheckChanged,而2005中,改变checkbox框的选择状态,只是纯粹的客户端事件,不会触发服务器端事件.只有当页面回发,才会执行相应的TreeNodeCheckChanged事件. 而实际应用中,可能需要改变某个选择框后,回发页面.在网上搜索了一下,终于找到了解决方法.当点击原创 2008-07-16 11:17:00 · 803 阅读 · 0 评论 -
Microsoft .Net Remoting系列专题之三 Remting 事件处理全接触
前言:在Remoting中处理事件其实并不复杂,但其中有些技巧需要你去挖掘出来。正是这些技巧,仿佛森严的壁垒,让许多人望而生畏,或者是不知所谓,最后放弃了事件在Remoting的使用。关于这个主题,在网上也有很多讨论,相关的技术文章也不少,遗憾的是,很多文章概述的都不太全面。我在研究Remoting的时候,也对事件处理发生了兴趣。经过参考相关的书籍、文档,并经过反复的试验,深信自己能够把这个问题阐转载 2008-06-25 10:25:00 · 864 阅读 · 0 评论