WCF授权-Identity与Principal[上篇]

评论(0)浏览(86)分类:Asp.Net/C#/WCF
WCF授权-Identity与Principal[上篇]  在安全领域,认证和授权是两个重要的主题。认证是安全体系的第一道屏障,守护着整个应用 或者服务的第一道大门。当访问者叩门请求进入的时候,认证体系通过验证对方提供凭证确定其真实身份。作为看门人的认证体系,只有在证实了访问者的真实身份 的情况下才会为其打开城门,否则将之举之门外。  当访问者入门之后,并不意味着它可以为所欲..

线程关联性(Thread Affinity)对WCF并发访问的影响

评论(0)浏览(86)分类:Asp.Net/C#/WCF
线程关联性(Thread Affinity)对WCF并发访问的影响  在WCF并发、回调的线程关联性(Thread Affinity)中, 我们重点讨论了线程关联性对service和callback的操作执行的影响:在service host的时候,可以设置当前线程的SynchronizationContext,那么在默认情况下,service操作的执行将在该 SynchronizationContext下执行(也就将service操作包装成delegate传入 SynchronizationContext的Send或者Po..

WCF双向通信实现Session管理[上篇]

评论(0)浏览(85)分类:Asp.Net/C#/WCF
WCF双向通信实现Session管理[上篇]  WCF支持Duplex的消息交换模式,它允许在 service的执行过程中实现对client的回调。WCF这种双向通信的方式是我们可以以Event Broker或者订阅/发布的方式来定义和调用WCF Service。今天我们就给大家一个具体的例子:通过WCF的duplex communication方式现在Session管理。一、Session 管理提供的具体功能  我们的例子实现了下面一些Session Ma..

WCF利用限流(Throttling)控制并发访问[上篇]

评论(0)浏览(85)分类:Asp.Net/C#/WCF
WCF利用限流(Throttling)控制并发访问[上篇]  WCF是一个基于多线程的消息监听、接收和处理框架体系,能够同时应付来自相同或者不同 客户端的服务调用请求,并提供完善的同步机制确保状态的一致性。一方面,我们期望WCF服务端能够处理尽可能多的并发请求,但是资源的有限性决定了并发量 有一个最大值。如果WCF不控制进入消息处理系统的并发量,试图处理所有抵达的并发请求,一旦超过了这个..

ASP.NET静态变量生命周期和线程安全

评论(0)浏览(85)分类:Asp.Net/C#/WCF
ASP.NET静态变量生命周期和线程安全  ASP.NET线程安全所涉及的是什么呢?让我们先来看看静态变量的生命周期问题,下面是我理解的静态变量的生命周期:  void Application_Start开始  void Application_End结束的,本来这就是对的  今天要做一个全局的应用,想确认一下,在网上一找,我的天,说什么的都有  大概分三种  1.Application_Start——Application_End  2.Se..

WCF并发本质

评论(0)浏览(84)分类:Asp.Net/C#/WCF
WCF并发本质  服务(Service)的本质就是提供服务消费者期望的某种功能,服务的价值体现在两个方面:服务本身的质量和寄宿服务的平台应付消费者的数量,并 发(Concurrency)的关注的是第二个要素。WCF服务寄宿于资源有限的环境中,要实现服务效用的最大化,需要考虑如何利用现有的资源实现最大的 吞吐量(Throughput)。提高吞吐量就某个寄宿的服务实例(..

C# GUID ToString参数格式

评论(1)浏览(84)分类:Asp.Net/C#/WCF
C# GUID ToString参数格式C#产生GUID字符串的格式控制:System.GUID.NewGuid().ToString(format) format格式说明符 返回值的格式 N 32 位: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx D 由连字符分隔的 32 位数字: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx B 括在大..

C#控制IIS操作网站

评论(0)浏览(84)分类:Asp.Net/C#/WCF
C#控制IIS操作网站  C#实现的控制IIS,完成网站的添加删除和修改using System;using System.DirectoryServices;using System.Collections;using System.Text.RegularExpressions;using System.Text;/*** @author 吴海燕* @email wuhy80-usual@yahoo.com* 2004-6-25 第一版*/ namespace Wuhy.ToolBox{ /// summary /// 这个类是静态类。用来实现管理IIS的基本操作..

C# WMI使用介绍

评论(0)浏览(84)分类:Asp.Net/C#/WCF
C# WMI使用介绍1、 什么是WMI  WMI是英文Windows Management Instrumentation的简写,它的功能主要是:访问本地主机的一些信息和服务,可以管理远程计算机(当然你必须要拥有足够的权限),比如:重启,关机,关闭进程,创建进程等。2、 如何用WMI获得本地磁盘的信息?  首先要在VS.NET中创建一个项目,然后在添加引用中引用一个.net的装配件:System.Mana..

wcf如何进行基于非HTTP的IIS服务寄宿

评论(0)浏览(84)分类:Asp.Net/C#/WCF
wcf如何进行基于非HTTP的IIS服务寄宿  在介绍IIS7.0的时候,我们谈到,HTTP.SYS+W3SVC实现了基于HTTP的请求监听,在此基础上引入了以下三组网络监听器(Listener)和监听适配器(Adapter),实现了基于TCP、Named Pipes和MSMQ的网络监听,图1揭示了IIS7的总体结构。TCPListener|TCP Listener AdapterNamedPipes Listener|Named Pipes Listener AdapterMSMQ Listener|MSMQ Listene..

正则表达式过滤HTML危险脚本

评论(0)浏览(83)分类:Asp.Net/C#/WCF
正则表达式过滤HTML危险脚本在做一些网站(特别是bbs之类)时,经常会有充许用户输入html样式代码,却禁止脚本的运行的需求, 以达到丰富网页样式,禁止恶意代码的运行。 当然不能用 htmlencode 和 htmldecode 方法,因为这样连基本的html代码会被禁止掉。 我在网上搜索,也没有找到好的解决办法,倒是收集了一些脚本攻击的实例: 1. script标记中包含的代码 2. 3. 其它基本控..

8.7 数据绑定控件(ListView)

评论(0)浏览(82)分类:Asp.Net/C#/WCF
8.7 数据绑定控件(ListView)  ListView控件是ASP.NET 3.5中新增的数据绑定控件,ListView控件是介于GridView控件和Repeater之间的另一种数据绑定控件,相对于GridView来说,它有着更为丰富的布局手段,开发人员可以在ListView控件的模板内写任何HTML标记或者控件。相比于GridView和Repeater控件而言,ListView支持的模板如下所示:1)AlternatingItemTemplate:交替项目..

WCF的双向通讯-基于Http的双向通讯和基于TCP的双向通讯

评论(0)浏览(82)分类:Asp.Net/C#/WCF
WCF的双向通讯-基于Http的双向通讯和基于TCP的双向通讯  在一个基于面向服务的分布式环境中,借助 一个标准的、平台无关的Communication Infrastructure,各个Service通过SOAP Message实现相互之间的交互。这个交互的过程实际上就是Message Exchange的过程。WCF支持不同形式的Message Exchange,我们把这称之为Message Exchange Pattern(MEP), 常见的MEP包括: Request/Reply,Request/Forget(On..

调用WCF服务的客户端应该如何进行异常处理

评论(0)浏览(82)分类:Asp.Net/C#/WCF
调用WCF服务的客户端应该如何进行异常处理  在前面一片文章(WCF服务代理不及时关闭会有什么后果) 中,我们谈到及时关闭服务代理(Service Proxy)在一个高并发环境下的重要意义,并阐明了其根本原因。但是,是否直接调用ICommunicationObject的Close方法将服务代 理关闭就万事大吉了呢?事情远不会这么简单,这其中还会涉及关于异常处理的一些操作,这就是本篇文章需要讨论的话题。一..

asp.net获取excel中sheet所有名称和个数

评论(0)浏览(82)分类:Asp.Net/C#/WCF
asp.net获取excel中sheet所有名称和个数  asp.net获取excel文件中所有sheet的名称和个数。 /// summary /// 获取EXCEL的表 表名字列 /// /summary /// param name=p_ExcelFileExcel文件/param /// returns数据表/returns public DataTable GetExcelTableName(string p_ExcelFile) { try { ..

通过CodeDOM定义生成代码的结构

评论(0)浏览(81)分类:Asp.Net/C#/WCF
通过CodeDOM定义生成代码的结构  不知道大家对CodeDOM的代码生成机制是否熟悉,但是有一点可以确定:如果你使用过Visual Studio,你就应该体验过它带给我们在编程上的便利。随便列举三种典型的代码生成的场景:在创建强类型DataSet的时候,VS会自动根据 Schema生成相应的C#或者VB.NET代码;当我们编辑Resource文件的时候,相应的的后台代码也会自动生成;当我们通过添加Web ..

使用Global.asax Application_Error自定义错误显示

评论(0)浏览(81)分类:Asp.Net/C#/WCF
使用Global.asax Application_Error自定义错误显示  asp.net网站开发中通常需要捕获异常,以提供给用户良好的提示页面。,可以在 Global.asax 中 Application_Error 的事件处理方法中统一处理。  它将捕获所有 Application 级别的 UnhandleException 和 HttpException(比如:访问的页面不存在等),总之,在这里处理的话,那么在页面中的所有 try/catch 处理都可以不要了。 void Applica..

.net使用Memcached简介

评论(0)浏览(81)分类:Asp.Net/C#/WCF
.net使用Memcached简介  ASP.NET中的虽然已经可以实现对页面局部进行缓存,但还是不够灵活。此时Memcached或许是你想要的。  Memcached是什么?  Memcached是由Danga Interactive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。  Memcached能缓存什么?  通过在内存里维护一个统一的巨大的hash表,Memcached能..

ASP.NET的assembly:WebResource资源管理使用

评论(1)浏览(81)分类:Asp.Net/C#/WCF
ASP.NET的assembly:WebResource资源管理使用  ASP.NET(1.0/1.1)给我们提供了一个开发WebControl的编程模型,于是我们摆脱了asp里面的include模式的复用方式。不过 1.0/1.1提供的Web控件开发模型对于处理没有image、css等外部资源的组件还算比较得心应手,script虽然很多时候也是外部资源,但在开发控件的时候我们习惯把script使用Page.Register...Script()来嵌入模块,因为紧凑的东西更便..

程序集注册工具 (Regasm.exe)

评论(0)浏览(81)分类:Asp.Net/C#/WCF
程序集注册工具 (Regasm.exe)程序集注册工具读取程序集中的元数据,并将所需的项添加到注册表中。注册表允许 COM 客户程序以透明方式创建 .NET Framework 类。类一经注册,任何 COM 客户程序都可以使用它,就好像该类是一个 COM 类。类仅在安装程序集时注册一次。程序集中的类实例直到被实际注册时,才能从 COM 中创建。regasm assemblyFile [options]参数参数 说明 assem..

ashx是什么文件,如何创建

评论(0)浏览(81)分类:Asp.Net/C#/WCF
ashx是什么文件,如何创建.ashx 文件用于写web handler的。其实就是带HTML和C#的混合文件。当然你完全可以用.aspx 的文件后缀。使用.ashx 可以让你专注于编程而不用管相关的WEB技术。.ashx必须包含IsReusable. 如下例所示+展开-C#//usingSystem;usingSystem.Web;publicclassAverageHandler:IHttpHandler{publicboolIsReusable{get{returntrue;}}publicvoidProcessRequest..

用C#使用HttpWebRequest Post数据时如何保持Session

评论(0)浏览(80)分类:Asp.Net/C#/WCF
用C#使用HttpWebRequest Post数据时如何保持Session 利用WebClient, HttpWebRequest向某址POST数据,这个都很方便,都有的网站需要保持SESSION才能进行下一步想要的操作。保持SESSION,关键在于如何保持住Cookie不变。代码如下:+展开-C#CookieContainercookie;privatevoidbutton1_Click(objectsender,System.EventArgse){HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create("http://localh..

如何将QQWry.Dat导出为access数据,导入mssql及查询纯真导入后的ip数据

评论(1)浏览(79)分类:Asp.Net/C#/WCF
如何将QQWry.Dat导出为access数据,导入mssql及查询纯真导入后的ip数据  本文将说明如何一步一步将纯真ip数据库QQWry.Dat导入到access数据库中,又从access数据库中导入到mssql数据库,并实现ip地址的数字化,方便查询ip。由于导入mssql后的ip数据库还是很大,所以在此就不提供下载了。  下面为操作步骤1)下载最新的纯真版ip数据库QQ IP数据库 纯真版20090720IP数据记录:370628条下载地址2)下载转换工具QQ IP..

VS2008无法断点调试程序

评论(0)浏览(79)分类:Asp.Net/C#/WCF
VS2008无法断点调试程序VS2008按F5无法在断点处停留,主要有以下几种情况:1、生成方式是 Release 不是Debug。2、调试时到附加到进程菜单里看有没有aspnet_wp.exe的进程,如果没有,添加。3、控件的事件丢失。这个比较常见。4、右键解决方案的属性里,看生成项里的生成调试信息那里是不是FALSE,如果是,改成TRUE。5、想要调试的代码行根本不能调试。这个比较少见。6、..

WCF-Discovery客户端如何探测可用服务

评论(0)浏览(79)分类:Asp.Net/C#/WCF
WCF-Discovery客户端如何探测可用服务  当应用了ServiceDiscoveryBehavior行为的服务通过标准终结点DiscoveryEndpoint被发布出来之后(《WCF-Discovery如何发现服务》), 客户端就可以按照WS-Discovery中定义的方式对可用的目标方式进行探测和解析了。由于这个过程本质上就是一次普通的服务调用,具体来说是针对发 布发现服务(非目标服务)的标准终结点DiscoveryEndpoint的调用,..

C#多线程同步

评论(0)浏览(79)分类:Asp.Net/C#/WCF
C#多线程同步目录lock语句和线程安全Interlocked类Monitor类监视器同步等待句柄类WaitHandleMutex类互斥Semaohone类信号量Events类ReaderWriterLockSlim读取器编写器锁 我们可以在计算机上运行各种计算机软件程序。每一个运行的程序可能包括多个独立运行的线程(Thread)。 线程(Thread)是一份独立运行的程序,有自己专用的运行栈。线程有可能和其他线程共..

odbc驱动链接字符串

评论(0)浏览(79)分类:Asp.Net/C#/WCF
odbc驱动链接字符串ODBC驱动链接字符串(连接不同数据源)数据源驱动器ODBC连接字符串Microsoft SQL ServerDriver={SQL Server};Database=数据库名;Server=数据库服务器名;UID=用户名;PWD=用户口令;注:数据库服务器名(local)表示本地数据库Microsoft AccessDriver={Microsoft Access Driver(*.mdb)};DBQ=指向文件的物理路径OracleDriver={Microsoft ODBC for Ora..

WCF Extension通过对象池创建Service Instance

评论(0)浏览(78)分类:Asp.Net/C#/WCF
WCF Extension通过对象池创建Service Instance   WCF有3种典型的对service instance进行实例化的方式,他们分别与WCF的三种InstanceContextMode相匹配,他们分别是 PerCall,PerSession和Single。PerCall为每次service invocation创建一个新的service instance; 而PerSession则让一个service instance处理来自通过各Session(一般是同一个proxy对象)的调用请求;而Single则是用同一个servi..

asp.net 单用户登录经典解决方案

评论(0)浏览(78)分类:Asp.Net/C#/WCF
asp.net 单用户登录经典解决方案这里指的单点,泛指在WEB服务端,一个账户同一时刻只能存在一个票据!大家开发中可能都碰到的一个问题,怎么使同一个用户,在同一时间内只允许登录一次。很多人都会想到在数据库中用一个标识字段,登录进去置1,退出置0,登录时判断这个字段,如果是1就说明此用户在线,不允许登录,这个方案看似有效,但在实际使用中发现问题很多,比如,用户不是..

8.2 重复列表控件(Repeater)

评论(0)浏览(77)分类:Asp.Net/C#/WCF
8.2 重复列表控件(Repeater)  重复列表控件(Repeater)是一个可重复操作的控件。它能够通过使用模板显示一个数据源的内容,而且开发人员可以轻松的配置这些模板,Repeater控件包括如标题和页脚这样的数据,它可以遍历所有的数据选项并将其应用到模板中。  重复列表控件并不是从WebControl派生出来,重复列表控件可以直接操控HTML文件或者样式表来编写模板和控制属性。..