随笔分类 -  .Net

摘要:今天有个客户要求在内网里限制下访问,根据ip端,自己就粗略写了一些,方法比较笨,不过很实用,代码如下://限制ip段访问publicstaticboolCheckIp(){boolfig=false;//首先获得客户端ipstringclientIp=GetIP();if(clientIp.Substring(0,clientIp.LastIndexOf("."))=="10.57.70"){//判断最后一位数字的范围intlastNum=Convert.ToInt32(clientIp.Substring(clientIp.LastIndexOf(&q 阅读全文
posted @ 2012-04-16 09:37 双魂人生 阅读(543) 评论(1) 推荐(0)
摘要:我们知道对于权限管理这块,采取的思想就是RBAC 每个用户对应一个角色,我们只需要对这个角色进行分配相应的权限即可,也就是给这个用户分配了权限,这样管理起来很方便,设计也很简答,大概就是用户表,角色表,模块表,在加上一个角色与模块对应的表就可以了,然后根据不同的用户权限,显示相应的模块或者提示没有权限访问,这里要说的就是,对每个页面的访问权限,如果都写的话,这么多的页面是个很大的工作量,类似判断用户是否登录一样,在asp.net中我们完全可以使用Forms验证来代替使用session每个页面都要判断的做法,同样,在这里我们也可以通过HttpModule来直接过滤掉没有访问权限的页面,方便多了, 阅读全文
posted @ 2012-04-13 09:24 双魂人生 阅读(8332) 评论(3) 推荐(4)
摘要:在url传值中,有时候我们需要加很多参数,但是有的时候用url传递多个参数的时候&后面的参数被自动截取了,后面的参数显示不出来了,这不是我们所希望的 解决办法: 只需要将&换成它的asc值就可以了,即%26所以碰到类似符号被截取的情况,都可以采用这种办法处理了 阅读全文
posted @ 2012-03-10 13:11 双魂人生 阅读(1003) 评论(0) 推荐(0)
摘要:下载链接如下:MVC 3安装包:http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=d2928bc1-f48c-4e95-a064-2a455a22c8f6&displaylang=zh-cnVS工具更新包:http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=82cbd599-d29a-43e3-b78b-0f863d22811a&displaylang=zh-cn注:并不需要安装vs2010的sp1。下完之后所需文件如下:需要说明 阅读全文
posted @ 2012-03-07 09:29 双魂人生 阅读(19876) 评论(7) 推荐(11)
摘要:一、Linq有两种语法:1、 方法语法2、 查询语法下面举个例子看看这两种方法的区别比如现在有一个学生类public class student{ public string username { get; set; } public int age { get; set; } public string sex { get; set; }}我们通过一个方法来添加很多同学public IList<student> GetStu(int n) { IList<student> stuList = new List<student>(); for (int i 阅读全文
posted @ 2012-03-05 21:36 双魂人生 阅读(3968) 评论(1) 推荐(0)
摘要:svn服务器有2种运行方式:独立服务器和借助Apache2,两种方式各有利弊,用户自行选择。如果使用file或者svn协议的话就使用独立服务器就可以了,如果想使用http或者https协议,就要结合apache一起使用了,需要安装apache和配置,用户名,密码和权限需要在dos命令和配置文件中配置,subverion结合apache使用的方法网上都有说明文档,可以下载下来看看,不过对于新手来说,确实有些麻烦,不过我们可以使用visualSvn,它是subvverion和apache的结合体,而且都是服务器端可视化的配置,很方便,至于客户端都是一样的,不过无论用哪个,步骤都一样:首先、安装服. 阅读全文
posted @ 2012-03-01 15:47 双魂人生 阅读(1290) 评论(0) 推荐(0)
摘要:我们知道,将值类型作为方法参数的时候,只是复制了一个而已,并不能改变其原来的值,方法执行完,参数的周期就算完了,就会消失了,如果想改变原来的值怎么办的,就比如把引用类型作为参数一样,可以改变原来的值,那是因为它传递过去的是一个引用,一个指向同一个对象的引用,所有对象的值会改变,如果想让值类型在传递的过程中,也可以这样,改变原来的值,那么就就必须把值类型当做引用类型来传递,也就是在方法中加入ref关键字来修饰参数,先来看看下面的例子View Code protectedvoidPage_Load(objectsender,EventArgse){intnum=200;GetValue(num); 阅读全文
posted @ 2012-02-16 15:37 双魂人生 阅读(244) 评论(0) 推荐(0)
摘要:在.Net中对文件和文件夹的操作,用到了System.IO类库,通常情况下,程序的中的变量都是保持在内存中的,一旦程序运行结束,这些变量将会从内存中被释放,为了能够持久化数据,我们通常会把数据保存到数据库中,或者保存到文件中,下面就来看看,如将数据写入和读取文件: 写入文件的时候用到了文件流,流主要是用来传输的对象,通过文件流可以很好的控制文件的创建,删除等,当然了也可以不用使用流,那样就不好控制了,简单的可以不用文件流 首先,我们要创建一个文件流 FileStream fs = new FileStream("F:\\text.txt", FileMode.Create) 阅读全文
posted @ 2011-11-10 14:35 双魂人生 阅读(1012) 评论(0) 推荐(2)
摘要:有些时候我们需要批量添加数据,如果我们直接使用添加功能添加会很繁琐,而且如果数据没了,还要这样添加,这样显然是不好的,所以我们可以先把数据记录在excel中,直接导入即可,还可以重用,不用一个一个添加,这样可以解决不少的时间,现在我们来看看如何在.net中导入excel数据! 大致的步骤是这样的: 首先,我们要在excel中添加好数据,保存好 其次,excel文件导入到项目中的指定文件夹下,然后读取excel中的数据到内存中(DataTable) 最后,从dataTable中取出这些数据添加到指定的数据库表里即可 下面来看一个具体的例子: View Code //查询excel的方式pub.. 阅读全文
posted @ 2011-05-13 13:38 双魂人生 阅读(11486) 评论(3) 推荐(2)
摘要:我们都知道,垃圾回收可以分为Dispose和Finalize两类,关于这两者的区别已经太多了,一个是正常的垃圾回收GC所调用的方法,另外一个是终结器Finalizer,所调用的方法,在Effective C#一书中,有着明确的建议是说使用IDispose接口来代替Finalize。原因是因为Finalize终结会增加垃圾回收对象的代数,从而影响垃圾回收。有了上述的原因,我们现在只来看使用IDispose接口的类。 在.NET中,绝大多数的类都是运行在托管的环境下,所以都由GC来负责回收,那么我们就不需要实现IDispose接口,而是由GC来自动负责。可是有一些类使用的是非托管资源,那么这个时候 阅读全文
posted @ 2011-03-23 17:22 双魂人生 阅读(733) 评论(0) 推荐(0)
摘要:今天做项目的时候,有一个修改的功能没实现,也没报错,查了半天,也不知道哪里出了问题,最后发现原来参数的顺序也很重要,,看看下面的代码 public void Update(Maticsoft.Model.Anli model){StringBuilder strSql=new StringBuilder();strSql.Append("update CN_Anli set ");strSql.Append("title=@title,");strSql.Append("photo=@photo,");strSql.Append(&q 阅读全文
posted @ 2011-03-04 14:58 双魂人生 阅读(251) 评论(0) 推荐(0)
摘要:xp下首先打开连接http://ac5xa5vgbi.l18.yunpan.cn/lk/Q7zvFnU3LMqeL,以管理员身份打开,知道显示打补丁按钮其次、在开始>设置>控制面版>添加或删除程序>卸载vs.net2008>出现卸载界面最后、点开第一步的打补丁按钮,第二步的卸载界面就会出现需要输入注... 阅读全文
posted @ 2011-03-04 14:26 双魂人生 阅读(290) 评论(0) 推荐(0)
摘要:C#中的类型都来源于system.object类型,分为值类型和引用类型,分别存在内存的堆栈和托管堆中,值类型一般都是简单类型如int float double等,他们保存在堆栈中,是按后进先出(LIFO)原则存储数据项的一种数据结构。在计算机系统中,栈特指处理器支持的一块内存区域,其中保存着局部变量。工作方式是先分配内存的变量后释放(先进后出原则),所以一旦出了作用域就会被释放,所以在整个项目中无法使用,这个时候就想到了托管堆。 堆(托管堆)存储引用类型。此堆非彼堆,.NET中的堆由垃圾收集器自动管理。与堆栈不同,堆是从下往上分配,所以自由的空间都在已用空间的上面。现在来举个例子看看在内存中 阅读全文
posted @ 2011-03-04 14:21 双魂人生 阅读(808) 评论(0) 推荐(2)
摘要:所谓的异常就是指在程序运行当中所发生的不正常事件,它会中止程序的运行,导致异常的的发生主要来自Ø代码错误,包括语法错误,逻辑错误,这些都是开发人员造成的Ø资源不可以,这是由系统访问了未经授权的资源而引起的错误Ø在.net中,公共语言运行库也就是在clr内部也会引发异常异常和错误有很大的区别,就好像你开车从A地到B地,如果中间的路坏了,没法走了,这就是异常,中止了我们开车行走,所有需要处理一下就好了,如果是车坏了,那么你根本就没办法开车去,就好像程序里你编译都通不过那样异常处理是很必要的,原因有一下几点:1 为了防止程序的崩溃,中止运行2 使程序更加严谨,也是防止数 阅读全文
posted @ 2011-03-04 10:55 双魂人生 阅读(515) 评论(0) 推荐(0)
摘要:使用SqlDataAdapter 的时候不知道有没有想过这样的问题,为什么数据库不用打开直接就可以连接了呢?在这里我就来告诉大家原因:其实 数据库的连接是隐式的被打开的SqlDataAdapter sqlDateAdapter = new SqlDataAdapter(sql语句,connection);其实它是隐式的替代了下面的代码:conn.Open();SqlCommand cmd = new SqlCommand();cmd.CommandText= "select * from googs";cmd.CommandType = CommandType.Text;c 阅读全文
posted @ 2011-03-03 14:28 双魂人生 阅读(471) 评论(0) 推荐(0)
摘要:在平时的编程当中,有时为了规定一个时间段,或者计算你做某件事情所花费的时间,也或者要显示当前的时间等,我们要对时间做出相应的处理:倒计时和当前时间的显示。那么怎么样才可以实现这些时间的显示功能呢?现在就倒计时和当前时间的显示的实现简单的介绍一下:倒计时:首先我们要计算出所花时间当中用到所有秒数,通过这些秒数得出和小时,分钟之间的关系,然后通过time事件和String.format()格式化字符串将事件显示出来就可以了,下面我们来看一个例子假如要编写一个学生考试管理系统,考试的事件规定为20分钟,随着考试的进行时间也在不断的减少,那么就需要设计一个倒计时器:首先我们可以得到考试的事件为20分钟 阅读全文
posted @ 2011-03-03 14:23 双魂人生 阅读(7279) 评论(0) 推荐(0)
摘要:今天在网上找了一个动态.Net代码生成器Codematic,它是一款为C#数据库程序员设计的自动代码生成器,我们可以通过它对数据操作,可以创建sql语句,存储过程等,还可以创建开发模式中的三层,工厂三层等,在程序中可以创建model等,使程序员可以节省大量机械录入的时间和重复劳动,而将精力集中于核心业务逻辑的开发。 Codematic 同时提供便捷的数据库管理功能和多项其他开发工作中常用到的辅助工具功能,您可以很方便轻松地进行项目开发。让开发变得轻松而快乐!--http://www.maticsoft.com/default.htm 阅读全文
posted @ 2011-03-03 14:01 双魂人生 阅读(315) 评论(0) 推荐(0)
摘要:三层中,我们会经常在数据访问层进行参数处理,方法很多,在这里我们简单的介绍几种: 1、 SqlParameter[] parmeter = new SqlParameter[]{ new SqlParameter("@Title",book.title), new SqlParameter("@Author",book.author), }; 2、 SqlParameter[] parmeter = new SqlParameter[]{ new SqlParameter("@Title",SqlDbType.Int,4), new 阅读全文
posted @ 2011-03-02 23:27 双魂人生 阅读(385) 评论(1) 推荐(0)
摘要:如果使用Vs2005和Vs2008中的WebSite时,都有自带的编译器,可以直接发布网站,但是这种编译发布方式不是很好,平常测试还可以,比如我们把一个做好的网站放到服务器上,过段时间,代码要进行修改,修改之后再次传到服务器上,需要整个项目都传一遍,相当麻烦,因为重新编译之后的bin里出现了好多和以前的不一样的.dll文件,页面也重新调用了这些文件,所以都要重新换一遍才可以,所以我们最好不要用自带的这种编译方式,采取编译工具进行编译发布,一般常用的是 vs的插件webdeploymentsetup.msi进行编译,好处就是不会生成很多的.dll文件,每次修改代码的时候,如果修改的是cs文件,. 阅读全文
posted @ 2011-03-02 23:19 双魂人生 阅读(495) 评论(7) 推荐(0)
摘要:1、.NET是什么? .Net全称.NET Framework是一个开发和运行环境, 该战略是微软的一项全新创意, 它将使得“互联网行业进入一个更先进的阶段”, .NET不是一种编程语言. 简单说就是一组类库框架, .NET开发支持C#、VB.NET、J#、Jsript和Managed C++等。 C#是.NET Framework框架支持的一种主力开发语言, 可用于开发ASP.NET网站, Windows 程序,控制台程序,甚至于手机软件, 至此51aspx作为微软的合作伙伴特提供了各种类型的源码下载: http://51aspx.com/。2、ASP.NET、.NET和C#的关系是怎样的? 阅读全文
posted @ 2011-03-02 23:09 双魂人生 阅读(420) 评论(0) 推荐(0)