随笔分类 - CSharp Technical
CSharp Technical
摘要:ASP.Net处理Http Request时,使用Pipeline(管道)方式,由各个HttpModule对请求进行处理,然后到达HttpHandler,HttpHandler处理完之后,仍经过Pipeline中各个HttpModule的处理,最后将HTML发送到客户端浏览器中。生命周期中涉及到几个非常重要的对象:HttpHandler,HttpModule,IHttpHandlerFactory,他们的执行顺序大致的执行过程是这样的:client端发送页面请求,被IIS的某个进程截获,它根据申请的页面后缀(.aspx)不同,调用不同的页面处理程序(.asp->asp.dll; .asp
阅读全文
摘要:什么是.NET应用程序域 在.NETCMS平台下,程序集并没有直接承载在进程中。实际上.NET可执行程序承载在进程的一个逻辑分区中,称为.NET应用程序域。 可见,一个进程可以包含多个应用程序域,每一个应用程序域中承载一个.NET可执行程序,这样的好处如下: 1、应用程序域为承载的应用程序提供了深度隔离。如果进程中一个应用程序域失败了,其他的应用程序域也能保持正常。 2、和一个完整的进程相比,应用程序域的CPU和内存占用要小的多。因此CLR加载和卸载应用程序域比起完整的进程来说也快的多。 3、应用程序域是.NET平台操作系统独立性的关键特性。这种逻辑分区将不同操作系统加载可执行程序的...
阅读全文
摘要:最近由于在准备Collection对象培训的PPT,因为涉及到SyncRoot的属性的讲解,所以对怎样在多线程应用程序中同步资源访问做了个总结:对于引用类型和非线程安全的资源的同步处理,有四种相关处理:lock关键字,监视器(Monitor),同步事件和等待句柄,mutex类。Lock关键字 本人愚钝,在以前编程中遇到lock的问题总是使用lock(this)一锁了之,出问题后翻看MSDN突然发现下面几行字:通常,应避免锁定public类型,否则实例将超出代码的控制范围。常见的结构lock (this)、lock (typeof (MyType))和lock ("myLock&quo
阅读全文
摘要:三十八、新建test页这个网页只有登录的用户才可以看,三十九、登录测试页面 网站管理员操作的后台页面有很多,在每个页面加这段代码的话,自己累,用户也非常的不爽。我们有什么好的方法处理这个问题么?可以用过滤器:HttpModule---其中最核心的就是19个事件。四十、19个事件 看表,得知使用第九个。如何使用这张表:由于每一个动态页面都会走过滤器,我们就可以在过滤器里面进行判断。过滤器有19个事件,我们一查表发现是第9个。 那么,我们怎么去使用第9个事件呢?可以自己定义个类,来继承HttpModule这个接口,也可以在全局配置文件里面,到底使用哪种方式,随便你.下面我写好了这段代码,分享源代码
阅读全文
摘要:IntroductionThe advantages of knowing Model-View-Presenter (MVP) patternfrom scratch:Engineer’s knowledge can be applied across different OOP languages (like VB.NET, Ruby, Java, C#). This is advantageous for developers and architects working on different types of languages.Engineer’s knowledge can b
阅读全文
摘要:对数据库对象的操作可以编码实现,当然.NET提供了更加方便的可视化机制可以帮助我们省却很多麻烦。首先,在项目中增加新项,选择Dataset数据集,如图所示:比如新建一个CustomersXSD.xsd的数据集,下面将NorthWind数据库中的Customers表拖到当前设计面板,如下如所示:如图所示,自动生成名为CustomersTableAdapter的Adapter对象,手动设置增加图上三个方法,其中GetByPrimaryKey方法如图所示配置:下面代码演示如何使用CustomerXSD, CustomersTableAdapter来实现对数据表Customers增加一条记录:首先假设
阅读全文
摘要:首先,我不确定是不是只有ASP.NET由ViewState,也不确认它有多特有,只是觉得这个东西对于Web开发MVC分离的进步很有帮助。所谓的ViewState,就是用来存放关于View的State的地方。以前的存储容器包括Cookies, Session, Application, Cache, Hidden,有时候连传递变量用的QueryString也用作存储容器,但都不是专门用来存储View相关信息的地方,然而由于没有专门存放View相关信息的地方,所以人们只好乱放。不怕过期失效的变量,多数人会选择放在Session里,而且跨页面不会丢失,用户访问几个别的页面回来还能通过Session恢
阅读全文
摘要:【编者按】作者 Senthil Kumar曾在自家的网站. NET试验过不少分析工具,下面这些是他试用之后的收集:1. 网站内App的性能和内存分析器JetBrains dotTrace来自JetBrain,是针对网站内App的性能和内存分析器,能有效剖析目标应用的性能,很快找到NET1.0到4.5版本的瓶颈。可从函数级\语句级别为编程人员以直观清晰的方式分析程序运行过程中所占用的CPU时间,从而为优化代码设计提供科学合理的建议。JetBrains dotTrace2. ANTS Performance Profiler来自red gate,可以帮你优化 .NET, ASP.NET 以及 MV
阅读全文
摘要:介绍调试是软件开发周期中的一个很重要的部分,有时很有挑战性,有时候则让程序员迷惑,有时候让程序员发疯,但是。可以肯定的是,对于任何不是太那个微不足道的程序来说,调试是不可避免的。近年来,调试工具的发展已经使得很多调试任务简单省时了。本文总结了十一个调试技巧,当你使用VS的时候可以节省你很多时间。1.悬停鼠标查看表达式调试有时候很有挑战性,当你步入一个函数想看看哪块出错的时候,查看调用栈来想想值是从哪来的。另一些情况下,则需要添加一些监视表达式,或者查看局部变量列表,这通常还是花费一些时间的,但是。如果你把你鼠标指向你感兴趣的一个变量。你会发现事情简单多了。而且,类和结构体可以通过单击展开。这样
阅读全文
摘要:This post explains how to insert, update, and delete data in a Database using Dataset.The DataSet can be considered an in-memory cache of data retrieved from a database. The DataSet consists of a collection of tables, relationships, and constraints.Firstly, we have to fill data into a DataSet from D
阅读全文
摘要:You can encapsulate the Queue class with your own class, something like:class MyQueue<T>{ private readonly Queue<T> queue = new Queue<T>(); public event EventHandler Enqueued; protected virtual void OnEnqueued() { if (Enqueued != null) Enqueued(this...
阅读全文
摘要:.Net对于远程调用提供了两种方法:Remoting和WebService。WebService现在是如火如荼,特别是有一种比较流行的架构:Winform+WebService(Java、.Net),我曾经做过的一个项目就是这样子的,分布式、跨平台、极佳的用户体验,这三者结合起来是不是很诱人?不过,这里我只说Remoting,Remoting具有以下特点:1、Tcp通道的Remoting速度非常快2、虽然是远程的,但是非常接近于本地调用对象3、可以做到保持对象的状态4、没有应用程序限制,可以是控制台,winform,iis,windows服务承载远程对象缺点:1、不是标准的应用,因此有平台限制
阅读全文
摘要:一、开篇忏悔对自己最拿手的编程语言C#,我想对你说声对不起,因为我到现在为止才明白c#中的delegate和event是怎么用的,惭愧那。好了,那今天就趁月黑风高的夜晚简单来谈谈delegate和event的简单用法吧,希望能给初学者带来帮助。PS:别像我那样学了几年c#到头来都不知道delegate和event怎么用。二、delegate到底是什么东西孩子,C语言总学过吧,如果你学得不像我那么差的话,函数指针总用过吧,就算没用过总听说过吧,嗯,大胆的告诉你,你完全可以把delegate理解成C中的函数指针,它允许你传递一个类A的方法m给另一个类B的对象,使得类B的对象能够调用这个方法m,说白
阅读全文
摘要:本来是要研究怎样判断下载完成,结果找到这个方法,可以在这个方法完成之后提示下载完成。代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceWinShowDown{publicpartialclassFrmMain:Form{publicFrmMain(){InitializeCompone
阅读全文
摘要:// Define the namespaces used by this sample.usingSystem;usingSystem.Text;usingSystem.Globalization;usingSystem.IO;usingSystem.Diagnostics;usingSystem.Threading;usingSystem.ComponentModel;namespaceProcessAsyncStreamSamples{classProcessNetStreamRedirection{// Define static variables shared by class m
阅读全文
摘要:这个例子只是简单实现了如何使用 Socket 类实现面向连接的通信。注意:此例子的目的只是为了说明用套接字写程序的大概思路,而不是实际项目中的使用程序。在这个例子中,实际上还有很多问题没有解决,如消息边界问题、端口号是否被占用、消息命令的解析问题等。。下面是两个程序的代码,(两个程序均为控制台程序)先发服务端的(Server)完整代码如下:引入命名空间:using System.Net.Sockets; using System.Net; using System.Threading; 完整代码如下:namespace SocketServer { class Program...
阅读全文
摘要:示例程序是同步套接字程序,功能很简单,只是客户端发给服务器一条信息,服务器向客户端返回一条信息;这里只是一个简单的示例,是一个最基本的socket编程流程,在接下来的文章中,会依次记录套接字的同步和异步,以及它们的区别。下面是示例程序的简单步骤说明服务器端:第一步:用指定的端口号和服务器的ip建立一个EndPoint对像;第二步:建立一个Socket对像;第三步:用socket对像的Bind()方法绑定EndPoint;第四步:用socket对像的Listen()方法开始监听;第五步:接受到客户端的连接,用socket对像的Accept()方法创建新的socket对像用于和请求的客户端进行通信
阅读全文
摘要:C# Socket Microsoft.Net Framework为应用程序访问Internet提供了分层的、可扩展的以及受管辖的网络服务,其名字空间System.Net和System.Net.Sockets包含丰富的类可以开发多种网络应用程序。.Net类采用的分层结构允许应用程序在不同的控制级别上访问网络,开发人员可以根据需要选择针对不同的级别编制程序,这些级别几乎囊括了Internet的所有需要--从socket套接字到普通的请求/响应,更重要的是,这种分层是可以扩展的,能够适应Internet不断扩展的需要。抛开ISO/OSI模型的7层构架,单从TCP/IP模型上的逻辑层面上看,.Net
阅读全文
摘要:Visual Studio 2005其他版本27(共 33)对本文的评价是有帮助-评价此主题C# 提供大量运算符,这些运算符是指定在表达式中执行哪些操作的符号。通常允许对枚举进行整型运算,例如==、!=、<、>、<=、>=、binary +、binary -、^、&、|、~、++、--和sizeof()。此外,很多运算符可被用户重载,由此在应用到用户定义的类型时更改这些运算符的含义。下表列出了按优先级顺序分组的 C# 运算符。每个组中的运算符具有相同的优先级。运算符类别运算符基本x.yf(x)a[x]x++x--newtypeofcheckedunchecked
阅读全文
摘要:[] 是针对特定类型、固定长度的。List是针对特定类型、任意长度的。Array 是针对任意类型、固定长度的。ArrayList是针对任意类型、任意长度的。Array 和 ArrayList 是通过存储 object 实现任意类型的,所以使用时要转换。应用示例usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Collections;publicpartialclass_
阅读全文

浙公网安备 33010602011771号