Web开发网 > Web后台开发 > Asp.Net/C#/WCF > 热门博文
从FaultContractAttribute的定义我们可以看出,该特性可以在同一个目标对象上面多次应用(AllowMultiple = true)。这也很好理解:对于同一个服务操作,可能具有不同的异常场景,在不同的情况下,需要抛出不同的异常。 1: [AttributeUsage(AttributeTargets.Method, AllowMultiple = true, Inherited = false)] 2: public sealed class ..
C#运算符重载是指允许用户使用用户定义的类型编写表达式的能力。它允许用户定义的类型与预定义的类型具有相同的功能。 例如,通常需要编写类似于以下内容的代码,以将两个数字相加。很明显,sum 是两个数字之和。int i = 5;int sum = i + j; 如果可以使用代表复数的用户定义的类型来编写相同类型的表达式,那当然是最好不过了:Comple..
SQLite是一款轻量级数据库,其类型在文件形式上很像Access数据库,但是相比之下SQLite操作更快。SQLite也是一种文件型数据库,但是SQLite却支持多种Access数据库不支持的复杂的SQL语句,并且还支持事务处理。10.6.1 SQLite简介 SQLite数据库具有小巧和轻量的特点,在SQLite数据库开发时,SQLite是为嵌入式特别准备的,所以SQLite具有小巧..
本节在服务器控件的基础上,着重讲解了用户控件和自定义控件。使用用户控件和自定义控件的优势就在于,用户控件和自定义控件都能够非常简单的完成并且能够达到开发的需求,而无需重复的进行代码编写。 在传统的开发概念中,用户控件和自定义控件都比较复杂,而通过本章就能够了解到用户控件和自定义控件的开发并没有想象中的复杂,用户控..
DataSet的最大好处在于,能够提供无连接的数据库副本,DataSet对象在表的生命周期内会为这些表进行内存的分配和维护。如果有多个用户同时对一台计算机进行操作,内存的使用就会变得非常的紧张。当对数据所需要进行一些简单的操作时,就无需保持DataSet对象的生命周期,可以使用DataReader对象。7.10.1 DataReader对象概述 当使用DataRea..
发一个检查友情链接的小程序,用户检查交换链接后其他站点是否将本站的链接更新到要交互链接的网站首页上。+展开-C#%@WebHandlerLanguage="C#"Class="checklins"%>usingSystem;usingSystem.Web;usingSystem.Data;usingSystem.Net;publicclasschecklins:IHttpHandler{publicvoidProcessRequest(HttpContextcontext){HttpResponser=context.Re..
1. wmi连接前提利用wmi来连接远端计算机首先要具有远端计算机管理员的用户名和密码。如果计算机在域中的话,要有域管理员用户名和密码,或者是把域帐户加入本机管理员组中也可以。2. 相关类的用法--- ConnectionOptions和ManagementScopeConnectionOptions用于设置连接选项,比如设置所连接机器的域,用户名,密码等。ManagementScope用于连接的..
在一个ASP.NET移动页面中使用DeviceSpecific/Choice构造时,你必须定义设备筛选器来测试MobileCapabilities对象的属性。你可以在应用程序的Web.Config文件的deviceFilters节点中定义设备筛选器,其中每个filter元素就是一个设备筛选器。下面是定义设备筛选器的语法: +展开 -XMLsystem.webdeviceFiltersfiltername="filterName"compare="capabil..
在ASP.NET2.0里不但进一步扩展了配置文件web.config,更为重要的是系统提供了一组API函数,让我们可以以编程的方式从配置文件里提取信息 首先,先看看如果从web.config里提取appSettings里的配置值,示例代码如下: 利用ASP.NET2.0提供的一组API函数,您可以很容易的获取AppSettingsSection里所有的Keys/value组对,如下:+展开-C#Configurat..
此方法是我无意间发现的,出现错误后IIS进程池直接挂掉了。。百试不爽!嘿嘿!+展开-C#///summary///用户昵称获取用户信息////summarypublicDataSetGetUserList(stringunike){returndal.GetUserList(unike);}以上是一个正常的BLL层函数,由于手误,偶写成了如下形式:+展开-C#///summary///用户昵称获取用户信息////summarypublicDataSetGetUserLis..
源码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.Sql;usingSystem.Data.SqlClient;usingSystem.IO;namespaceImageToDB{publicpartialclassUserEdit:Form{publicUserEdit(){InitializeComponent();}priva..
在我的上一篇blog用C#编写ActiveX控件1中,已经实现了一个最基本的ActiveX控件。当然,我们编写的任务还没有完成。首先,我们先尝试实现和JS的交互能力。 我们在Demo中加入ShowMessage方法: +展开-C#publicvoidShowMessage(stringmsg){if(msg!=null){MessageBox.Show(msg);}}我们重新编译。在重新访问页面之前,我们先来修改html代码: ..
本系列的全部源代码及二进制文件可以从这里下载:IocInCSharp.rar 你真的了解Ioc与AOP吗?(1) 你真的了解Ioc与AOP吗?(2) 你真的了解Ioc与AOP吗?(3) 你真的了解Ioc与AOP吗?(4)你真的了解Ioc与AOP吗?(5) 本部分示例代码请参考"src\Step1"、"src\Step2"目录你真的了解Ioc与AOP吗?我现在还不是很了解,而且越学习越发现自己了解的很少..
在C#中,封装就是将类成员中的字段、方法以及属性事件、委托等放在一个公共的结构中。按照一个公共的方法把数据和操作这些数据的方法进行组装(封装),同时为对象指定操作和属性,从而创建了新的数据类型提供给用户使用,而保证了私密的内容不会被用户察觉。3.6.1 为什么要封装 在应用程序开发,特别是面向组件开发的过程中,常常会将类..
Web Service是Web服务器上的一些组件,客户端应用程序可通过Web发出HTTP请求来调用这些服务。通过ASP.NET开发人员可以创建自定义的Web Service或使用内置的应用程序服务,并从任何客户端应用程序调用这些服务。14.5.1 什么是Web服务 Web服务(Web Service)可以被看作是服务器上的一个应用单元,它通过标准的XML数据格式和通用的Web协议..
在第一篇C# 3.0 学习(一)中,我已经和大家简单介绍了linq。也和大家提起linq是C# 3.0里的一个特性。不过,你去装linq priview时,你会发现,它提供了许多vb的linq代码。从现在的情况看,linq会被移植到.net framework下。在本篇中,笔者将开始更加详细的介绍dlinq。同时,也会介绍很实用的技巧和方法。在这之前,你需要安装s2008 beta2 ..
下载Windows的Memcached Server端下载地址:http://code.jellycan.com/memcached/安装Memcache Server(也可以不安装直接启动)1. 下载memcached的windows稳定版,解压放某个盘下面,比如在c:\memcached2. 在CMD下输入 c:\memcached\memcached.exe -d install 安装.3. 再输入:c:\memcached\memcached.exe -d start 启动。NOTE: 以后memcached将作..
1.Lambda简介 一个Lambda Expression (译为Lambda式) 就是一个包含若干表达式和语句的匿名函数。可以被用作创建委托对象或表达式树类型。 所有的Lambda式都使用操作符=,表示goes to (转变为)。操作符左边部分是输入参数表,右边部分是表达式或语句块。x = x * x 读成x转变为x 乘x。 Lambda式可以被赋值给一个委托类型:例1delegate in..
一、为什么CallHandler需要进行排序 PIAB为我们提供了一个很好地实现AOP的方式。AOP旨在实现Business Logic和Non-Business Infrastructure Logic的分离。通过PIAB,我们将这些业务无关的逻辑定义在一个个的CallHandler中,然后通过Attribute或者Configuration的方式,将我们所需的CallHandler运用到相应的目标对象中。从这个意义上讲,PIAB具..
IE编程读取IE窗口信息目标: 程序自动读取所有正在运行的IE(6.0或7.0)窗口信息,如窗口句柄HWND、状态文本StatusText、名字Name、路径Path等。实现: 1. 添加对COM组件Microsoft Internet Controls的引用,如下图。 2. 获得IE窗口信息。using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using S..
在介绍终结点的WCF逻辑地址和物理地址时,我们提到了两个特殊的对象ChannelDispatcher和ChannelListener。这两个对象在整个WCF的消息分发系统中具有重要的地位,在这节里,我们对WCF的整个消息分发过程作一个简单的介绍。一、连接请求的监听 当我们通过ServiceHost对某个服务进行寄宿的时候,实际上WCF是在为我们创建一个监听器,并监听来..
为了让读者对基于ASP.ENT Roles授权方式有一个全面的认识,我们现在来做一个实例演示。在这个实例中,我们将采用不同的认证方式,包括Windows认证和证书认证(ASP.NET Membership + Roles为常见的组合方式,在这里就不多作演示)。简单起见,我们依然沿用一贯的基于如下图所示的解决方案结构,并且依然采用声明式的授权。所以在服务操作方法..
Windows用户组安全主体权限模式,顾名思义,就是将利用Windows安全系统将 对应的Windows帐号所在的用户组作为该用户权限集的授权方式。认证和授权密不可分,但是对于认证和授权在WCF安全体系中的实现来说,它们则是相对 独立的。认证属于安全传输的范畴,是在信道层实现的,而授权则是在服务模型层实现的。但是对于基于Windows用户组的授权来..
整个WCF框架由两个基本的层次构成,即服务模型层和信道层。对信道层的扩展主要通过针对绑定的扩展实现,具体来说就是自定义绑定元素,以及相关的信道管理器(信道监听器和信道工厂)、信道来改变对消息的处理和传输方式。 而对于服务模式型层的扩展则主要体现服务端和客户端运行时框架的定制,进而让WCF按照我们希望的方式进行运作。由于..
泛型集合ListT 泛型最重要的应用就是集合操作,使用泛型集合可以提高代码重用性,类型安全和更佳的性能。 ListT的用法和ArrayList相似,ListT有更好的类型安全性,无须拆,装箱。定义一个ListT泛型集合的语法如下:ListT 集合名=new ListT(); 在泛型定义中,泛型类型参数“T”是必须指定的,其中T是定义泛型类时的占位符,其并不是一种..
上一章中介绍了ADO.NET的基本概念、ADO.NET的对象,以及如何使用ADO.NET。使用ADO.NET能够极大的方便开发人员对数据库进行操作而无需关心数据库底层之间的运行,ADO.NET不仅包括多个对象,同样包括多种方法,这些方法都可以用来执行开发人员指定的SQL语句,但是这些方法实现过程又不尽相同,本节将介绍ADO.NET中数据的操作方法。9.1.1 使用..
随着硬件的飞速发展,移动设备也如同计算机设备一样呈现出具有更好的性能、更快的处理速度和更便宜的趋势。尤其是即将到来的3G技术,将使得移动设备突破现在的带宽限制,这样我们就可以构建出许多新颖且功能强大的移动应用。现在已经有许多商业应用都开始向移动设备上进行迁移,所以对开发者来说,现在就开始ASP.NET移动开发的学习将是一种非常适..
面向对象的程序中,我们知道基类变量可以引用子类对象,比如ListT派生自IEnumerableT,所以,以下这句绝无问题: IEnumerableParent P = new ListParent(); 现在假设Parent类有一个子类,取名Child。 class Parent { } class Child : Parent { } 请看以下“错误的”代码: IEnumerableParent P = new ListChild(); 虽然基类变量可以引用子类对象..
着Web技术的发展,Socket通信逐渐被人们遗忘。然而最近Socket应用却又越来越多。尤其是中国移动,中国联通的短信网关就是基于Socket通迅,另外随着大家对MSN、QQ等IM工具通迅协议的研究。协议内容也随处都可以找到。想要制作自己的MSN、QQ客户端的用户也大有人在。但习惯了WEB开发和简单UI开发的程序员却在这些协议面前迷糊了。 .net的System.Ne..
+展开-C#publicstaticvoidwriteConfig(stringitem,stringkey,stringvalue){if(item==""){item="appSettings";}Configurationconfig=System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(System.Web.HttpContext.Current.Request.ApplicationPath);AppSettingsSectionappSection=(AppSettingsSection)config.GetSection(item.. 首页 上一页 [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] 下一页 尾页 24/37页,每页显示30条,共1092条相关记录