长期饭票

大家好,请喊我序员!
QQ:15838986
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  Framework

About framework
摘要:阅读目录开始ASP.NET身份认证基础ASP.NET身份认证过程如何实现登录与注销保护受限制的页面登录页不能正常显示的问题认识Forms身份认证理解Forms身份认证实现自定义的身份认证标识在多台服务器之间使用Forms身份认证在客户端程序中访问受限页面用户登录是个很常见的业务需求,在ASP.NET中,这个过程被称为身份认证。 由于很常见,因此,我认为把这块内容整理出来,与大家分享应该是件有意义的事。在开发ASP.NET项目中,我们最常用的是Forms认证,也叫【表单认证】。 这种认证方式既可以用于局域网环境,也可用于互联网环境,因此,它有着非常广泛的使用。 这篇博客主要讨论的话题是:ASP. 阅读全文

posted @ 2013-04-12 11:30 Baode 阅读(239) 评论(0) 推荐(0) 编辑

摘要:using System;using System.Text;namespace NewLife.Common{ /// <summary>汉字转拼音类</summary> public class PinYin { private readonly static Int32[] pyValue = new Int32[]{-20319,-20317,-20304,-20295,-20292,-20283,-20265,-20257,-20242,-20230,-20051,-20036, -20032,-20026,-20002,-19990,-19986,-1998 阅读全文

posted @ 2012-09-26 11:22 Baode 阅读(505) 评论(0) 推荐(0) 编辑

摘要:今天老赵在园子里发了一篇文章"警惕匿名方法造成的变量共享",立即引起了大家的广泛关注(老赵就是园子的"人气天王",呵呵),而且这个问题园子里也有其它几篇文章做了研究比如"闭包","《你不常用的c#之三》:Action 之怪状 "如果只是停留在c#2.0/3.0的"简捷且优雅"的代码风格上,初学者确实难理解这个"怪"现象,前二天买了本anytao的“你必须知道的.net”,里面提供了一种研究这类表面"怪"现象的基本方法--IL分析,并推荐了大名鼎鼎的反编译工 阅读全文

posted @ 2012-07-16 17:50 Baode 阅读(731) 评论(0) 推荐(0) 编辑

摘要:1、两种不同的方法计算字符串的长度 string strTmp = "wk986王克东"; int i = System.Text.Encoding.Default.GetBytes(strTmp).Length; //算汉字的长度 int j = strTmp.Length; //不算汉字的长度 Console.WriteLine("字符串{0},算汉字的长度:{1},不算汉字长度:{2}", strTmp,i,j); //转换成数组计算数组的长度 byte[] bytStr = System.Text.Encoding.Default.GetByte 阅读全文

posted @ 2012-06-08 17:33 Baode 阅读(1470) 评论(0) 推荐(0) 编辑

摘要:一、x.509证书 1.制作证书先进入到vs2005的命令行状态,即:开始-->程序-->Microsoft Visual Studio 2005-->Visual Studio Tools-->Visual Studio 2005 命令提示键入:makecert -r -pe -n "CN=MyServer" -ss My -sky exchange解释一下:makecert.exe是一个专门用来制作证书的小工具,上面一行的意思就是制作一个CN=MyServer的服务器证书,默认存储在CurrentUser"My这个位置,同时这个证书标识 阅读全文

posted @ 2012-05-04 16:11 Baode 阅读(407) 评论(0) 推荐(0) 编辑

摘要:作者: Stephen Walther原文地址:http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnvs05/html/UserProfiles.asp译者:Tony Qu概要:许多ASP.NET应用程序需要跨访问的用户属性跟踪功能,在ASP.NET1.1中,我们只能人工实现这一功能。但如今,使用 ASP.NET 2.0的Profile对象,这个过程变得异常简单。Stephen Walther将验证该对象,并向你展示如何使用Profile来跟踪用户属性、创建一个购物篮,及其他一些例子。总目录介绍User P. 阅读全文

posted @ 2012-04-18 11:18 Baode 阅读(179) 评论(0) 推荐(0) 编辑

摘要:C#网络编程(接收文件) - Part.5这篇文章将完成Part.4中剩余的部分,它们本来是一篇完整的文章,但是因为上一篇比较长,合并起来页数太多,浏览起来可能会比较不方便,我就将它拆为两篇了,本文便是它的后半部分。我们继续进行上一篇没有完成的步骤:客户端接收来自服务端的文件。4.客户端接收文件4.1服务端的实现对于服务端,我们只需要实现上一章遗留的sendFile()方法就可以了,它起初在handleProtocol中是注释掉的。另外,由于创建连接、获取流等操作与receiveFile()是没有区别的,所以我们将它提出来作为一个公共方法getStreamToClient()。下面是服务端的. 阅读全文

posted @ 2012-04-12 11:11 Baode 阅读(237) 评论(1) 推荐(0) 编辑

摘要:C#网络编程(订立协议和发送文件) - Part.4文件传输前面两篇文章所使用的范例都是传输字符串,有的时候我们可能会想在服务端和客户端之间传递文件。比如,考虑这样一种情况,假如客户端显示了一个菜单,当我们输入S1、S2或S3(S为Send缩写)时,分别向服务端发送文件Client01.jpg、Client02.jpg、Client03.jpg;当我们输入R1、R2或R3时(R为Receive缩写),则分别从服务端接收文件Server01.jpg、Server02.jpg、Server03.jpg。那么,我们该如何完成这件事呢?此时可能有这样两种做法:类似于FTP协议,服务端开辟两个端口,并. 阅读全文

posted @ 2012-04-12 11:08 Baode 阅读(194) 评论(0) 推荐(0) 编辑

摘要:C#网络编程(异步传输字符串) - Part.3这篇文章我们将前进一大步,使用异步的方式来对服务端编程,以使它成为一个真正意义上的服务器:可以为多个客户端的多次请求服务。但是开始之前,我们需要解决上一节中遗留的一个问题。消息发送时的问题这个问题就是:客户端分两次向流中写入数据(比如字符串)时,我们主观上将这两次写入视为两次请求;然而服务端有可能将这两次合起来视为一条请求,这在两个请求间隔时间比较短的情况下尤其如此。同样,也有可能客户端发出一条请求,但是服务端将其视为两条请求处理。下面列出了可能的情况,假设我们在客户端连续发送两条“Welcome to Tracefact.net!”,则数据到. 阅读全文

posted @ 2012-04-12 11:07 Baode 阅读(242) 评论(0) 推荐(0) 编辑

摘要:C#网络编程(同步传输字符串) - Part.2服务端客户端通信在与服务端的连接建立以后,我们就可以通过此连接来发送和接收数据。端口与端口之间以流(Stream)的形式传输数据,因为几乎任何对象都可以保存到流中,所以实际上可以在客户端与服务端之间传输任何类型的数据。对客户端来说,往流中写入数据,即为向服务器传送数据;从流中读取数据,即为从服务端接收数据。对服务端来说,往流中写入数据,即为向客户端发送数据;从流中读取数据,即为从客户端接收数据。同步传输字符串我们现在考虑这样一个任务:客户端打印一串字符串,然后发往服务端,服务端先输出它,然后将它改为大写,再回发到客户端,客户端接收到以后,最后再. 阅读全文

posted @ 2012-04-12 11:05 Baode 阅读(228) 评论(0) 推荐(0) 编辑

摘要:C#网络编程(基本概念和操作) - Part.1引言C#网络编程系列文章计划简单地讲述网络编程方面的基础知识,由于本人在这方面功力有限,所以只能提供一些初步的入门知识,希望能对刚开始学习的朋友提供一些帮助。如果想要更加深入的内容,可以参考相关书籍。本文是该系列第一篇,主要讲述了基于套接字(Socket)进行网络编程的基本概念,其中包括TCP协议、套接字、聊天程序的三种开发模式,以及两个基本操作:侦听端口、连接远程服务端;第二篇讲述了一个简单的范例:从客户端传输字符串到服务端,服务端接收并打印字符串,将字符串改为大写,然后再将字符串回发到客户端,客户端最后打印传回的字符串;第三篇是第二篇的一个. 阅读全文

posted @ 2012-04-12 09:56 Baode 阅读(184) 评论(0) 推荐(0) 编辑

摘要:Request.QueryString:获取 HTTP 查询字符串变量集合。一般是获取Get方式提交的数据,包含由客户端发送的查询字符串变量的集合。例如,如果请求URL 为 http://www.cnblogs.com/errorif/posts.aspx?id=44,则 System.Web.HttpRequest.QueryString的值为“id=44”。Request.Form:获取窗体变量集合。一般是获取以Form形式Post提交的数据Request:从几个集合取数据是有顺序的,从前到后的顺序依次是 QueryString,Form,Cookie最后是ServerVariables. 阅读全文

posted @ 2012-04-10 13:27 Baode 阅读(443) 评论(0) 推荐(0) 编辑

摘要:摘要:连接池能在程度上提高数据库访问性能。本文讨论到底何为连接池,它如何提高数据库访问性能,以及如何在.NET中创建连接池并增加或移除连接。导言连接数据库是应用程序中耗费大量资源且相对较慢的操作,但它们又是至关紧要的。连接池是已打开的及可重用的数据库连接的一个容器。连接池在所有的数据库连接都关闭时才从内存中释放。使用连接池最基本的好处是提高应用程序的性能及可伸缩性,而其主要缺点是会有一个或多个数据库连接将一直保持打开状态,即使当前不在使用。ADO.NET的Data Providers将默认情况下将使用连接池,如果你不想使用连接池,必须在连接字符串中指定”Polling=false”。连接池中. 阅读全文

posted @ 2012-03-28 10:40 Baode 阅读(336) 评论(0) 推荐(1) 编辑

摘要:目录目录1 IGame游戏公司的故事 1.1 讨论会 1.2 实习生小李的实现方法 1.3 架构师的建议 1.4 小李的小结2 探究依赖注入 2.1 故事的启迪 2.2 正式定义依赖注入3 依赖注入那些事儿 3.1 依赖注入的类别 3.1.1 Setter注入 3.1.2 Construtor注入 3.1.3 依赖获取 3.2 反射与依赖注入 3.3 多态的活性与依赖注入 3.3.1 多态性的活性 3.3.2 不同活性多态性依赖注入的选择4 IoC Container 4.1 IoC Container出现的必然性 4.2 IoC Container的分类 4.2.1 重量级IoC Cont. 阅读全文

posted @ 2012-03-20 15:55 Baode 阅读(205) 评论(0) 推荐(0) 编辑

摘要:来自:http://www.yaosansi.com/post/1380.html 记录LINQ生成的SQL语句是常用的调试方式,而且能根据需要来优化LINQ生成的SQL语句,更能了深入的了解LINQ.DataContext的Log属性来将LINQ to SQL生成的SQL语句格式化.一.控制台程序(Console)dataContext.Log = Console.Out;二.利用GetCommand方法dataContext.GetCommand(query).CommandText;三.使用LINQPad (官方网站)LINQPad支持C# 3.0 和 Framework 3.5的全部. 阅读全文

posted @ 2012-03-20 09:47 Baode 阅读(492) 评论(0) 推荐(0) 编辑

摘要:原文地址:http://blogs.msdn.com/b/meek/archive/2008/05/02/linq-to-entities-combining-predicates.aspx Someone asked a great question on the ADO.NET Entity Framework forums yesterday: how do I compose predicates in LINQ to Entities? I’ll give three answers to the question.Answer 1: Chaining query operat... 阅读全文

posted @ 2012-03-19 17:47 Baode 阅读(2842) 评论(0) 推荐(0) 编辑

摘要:在MVC中要实现Ajax有很多的方式,有微软自己的MicrosoftAjax,也可以用JQuery的AJax来实现,如果对其他的JavaScript框架熟悉,还可以采用其他的实现方案,比如说Prototype等等。以下是微软自己的实现方案。需要预先加载的JavaScript文件: <script src="@Url.Content("~/Scripts/MicrosoftAjax.js")" type="text/javascript"></script> <script src="@Url.C 阅读全文

posted @ 2012-02-17 13:49 Baode 阅读(419) 评论(0) 推荐(0) 编辑

摘要:数据分页一只是一个老生常谈的问题,只要是做系统开发,一般都会牵扯到。最新学习了Razor,用到分页功能,分享下如何实现Ajax分页。1.准备工作 网上有现成的分页工具MVCPager,最新的是1.5版本,综合比较后感觉这个控件还是蛮好的,决定采用 MVCPager源码和Demo:http://mvcpager.codeplex.com/releases/view/64098 源码中采用了Linq,由于自己项目没用Linq,所以对MVCpager稍作了修改,修改后的dll:MVCWeb.rar 其实就改了一个地方,数据类型由IQuery改成IList,加入一个TotalCount(总记录数量). 阅读全文

posted @ 2012-02-14 17:27 Baode 阅读(11440) 评论(4) 推荐(4) 编辑

摘要:在Asp.Net MVC 1.0编程中,我们经常遇见这样的场景,在新建一个对象时候,通过HtmlHelper的方式在View模型中渲染Html控件,当填写完相关内容后,通过Form把需要新建的内容Post回View对应Controller的Action(例如:Create),指定的Action可以通过接受FormCollection参数、值参数或者某个类的实例参数(比如:Movie类),完成新建的操作。(主要指HtmlHelper.TextBox)当我们通过传递FormCollection参数进行操作时,如果不使用UpdateModel方法,而利用ModelState.IsValid及Mode 阅读全文

posted @ 2012-02-13 19:20 Baode 阅读(4460) 评论(0) 推荐(1) 编辑

摘要:语音是人类最自然的交互方式,也是现阶段软件用户界面发展的最高目标。微软公司一直积极推动语音技术的发展,并且公布了语音开发平台Speech SDK帮助开发人员实现语音应用。 随着.net技术深入人心,越来越多的程序员开始转到.net平台上进行开发。然而,在新发布的.net speech SDK里面并没有对中文语音进行支持,目前支持中文的Speech SDK最高版本为Windows平台下的SAPI 5.1(),本文介绍如何在.net平台下利用SAPI5.1开发中文语音应用程序。 阅读全文

posted @ 2012-02-11 18:28 Baode 阅读(365) 评论(0) 推荐(0) 编辑