黑马程序员之ASP.NET个别知识点小结十
来源:互联网 发布:数控编程软件哪个好 编辑:程序博客网 时间:2024/05/29 12:44
------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
多线程
进程:就是一个程序,至少有一个线程
线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针,程序计算器等),但代码区是共享的,即不同的线程可以执行同样
的函数。多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务(代码),也就是说允许单个
程序创建多个并行执行的线程来完成各自的任务。
.net中如何实现多线程
1定义声明一个无参数,无返回值的方法
2using Threading new Thread(无返回值无参数的委托)
threadFirst.IsBackground=true设置成后台线程
3threadFirst.Start()开启另一个线程 标记该线程可以被CPU执行了,但具体执行时间由CPU决定
【是.net框架会创建一个系统的线程,让系统线程帮我们完成工作】
前台线程:只有所有的前台线程都关闭才能完成程序关闭时。
后台线程:只要所有的前台线程结束,后台线程自动结束。
threadFirst.IsBackground=true设置成后台线程
UI线程,就是主线程,窗体应用程序中的所有控件不允许其他线程访问【TextBox.checkforillegalthreadcalls=false】
线程重入:多个线程执行同一段代码,一个线程的一次还没执行完就被中断了
Thread类的一些重要成员(*)
线程之间的通信问题
Start()启动线程
Abort()终止线程
Thread.Sleep(1) 静态方法,可以使当前线程停止一段时间运行
Name线程名
Thread.CurrentThread获得当前的线程引用
socket套接字 两个程序通信用服务器端:
申请一个socket
绑定到一个IP地址和一个端口上
开启侦听,等待接授连接
客户端:
申请一个socket
连接服务器(指明IP地址和端口号)
服务器端接到连接请求后,产生一个新的socket(端口大于1024)与客户端建立连接并进行通讯,原监听socket继续监听。
浏览器提交数据方式?(例) get/post
1.表单:(数据藏在请求报文体中,格式:txtname=james&txtpwd=123) <form action=“login.ashx” method=“post”>
<input type=“text” name=“txtname” /> <input type=“password” name=“txtpwd”/> </form>
2.地址栏的URL参数,超链接的url,js指定的url(和表单的Get方式一样):键值对 http://127.0.0.1/login.ashx?
txtname1=jordan&txtpwd1=123
二、服务器如何获取浏览器提交的数据?context.Form[“txtname”]
1.获取POST数据:context.Request.Form[“txtname”]安全点
2.获取GET参数:context.Request.QueryString[“txtname1”]
三、服务器如何向浏览器输出数据?
context.Response.Write(“我是从服务器输出到浏览器的数据!:)”);
ASP.NET页面间数据传递的方法Querystring
Web页面是无状态的, 服务器对每一次请求都认为来自不同用户,因此,变量的状态在连续对同一页面的多次请求之间或在页面跳转时不会
被保留。
.使用Querystring 方法
QueryString 也叫查询字符串, 这种方法将要传递的数据附加在网页地址(URL)后面进行传递。如页面A.aspx 跳转到页面B.aspx,可以用
Request.Redirect("B.aspx?参数名称=参数值")方法,也可以用超链接:,
页面跳转后,在目标页 面中可用Ruquest["参数名称"]来接收参数。
使用QuerySting 方法的优点是实现简单; 不使用服务器资源;
缺点是传递的值会显示在浏览器的地址栏上,有被篡改的风险;不能传递对象;只有在通过URL 请求页时查询字符串才是可行的。
(1)Redirect 方法将客户端重定向到新的页面,只是简单地终止当前页面,并转入新的页面开始执行,对转入的页面无任何限制。
(2)Transfer 方法终止当前页的执行,并为当前请求开始执行新的页面。把执行流程从当前页面转到同一服务器中的另一页面,但是新的页
面仍然使用当前页面创建的应答流。
这两种方法的主要区别是:(1)Redirect 方法可以实现任意网页间的重定向,而Transfer 方法只能实现同一服务器中 ASPX 页面间的重定
向。(2)Redirect 方法不会保留当前页面的表单(Form)数据和查询字符串(QueryString),而Transfer 方法则可以保留这些数据
ViewState 的使用
0服务器端的值都自动保存在ViewState中
1 ViewState["myKey"] ="MyData"
2 取出的都是字object
if(ViewState["myKey"]!=null){string a=(string)ViewState["myKey"]}
3 必须有<form runat="server">
4 只能存储string int boolean array arraylist hashtable
5 前台生成了name和id都为__VIEWSTATE的隐藏域 value中保存了各种编码后的信息
6 后台ViewState是control的一个属性,就是页面对象的一个属性
应用场合:
缺点:加大了网站的流量,降低了访问速度
机密数据不能放在表单中,会有数据欺骗等安全问题
Cookies
1 浏览器的内存中(默认)只要不关闭浏览器,你访问任何一个页面Cookies都会发送到服务器或硬盘中C盘临时文件夹中
2 判断当前访问的域名,看看发送那个过去,放在请求报文;同一个浏览器的不同页面是可以的
3 请求.jpg .js .css这种文件或外部文件,在请求报文中也会带上cookie
HttpCookie cookie=new HttpCookie("moeney","1000");
cookie.Expirs=DateTime.Now.AddDays(2);设置失效时间【保存到硬盘上】
cookie.Expirs=DateTime.Now.AddDays(-1)设计让cookie失效
Response.Cookies.Add(cookie);
HttpCookie cook= Request.Cookies["money"];
if (null!=cookie)
{
}
session:
你把浏览器关闭之前你都能访问属于你自己的session
里面可以包含各种类型的对象
进程内的session
进程外的session
保存在数据库
Session.Timeout=20;设置所有的session的失效时间都是20分钟,默认的就是20;
Session["uname"] = "maxiaofeng";
Session["uname"]取得的是object类型的数据
if (Context.Session["uname"]!=null)
{
Context.Session.Abandon();
}
------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
- 黑马程序员之ASP.NET个别知识点小结十
- 黑马程序员之asp.net学习笔记:一般处理程序(*.ashx)小结
- 黑马程序员-------.net基础知识十
- 黑马程序员_Java编程基础知识点小结
- 黑马程序员-------asp.net初级
- 黑马程序员之 ASP.NET学习笔记:JS验证大全
- 黑马程序员之ASP.NET学习笔记:.NET,ASP.NET,C#,VisualStudio之间的关系是什么?
- 黑马程序员--学习ado.net小结
- 黑马程序员---ADO.Net学习小结
- 黑马程序员--ADO.NET小结(上)
- 黑马程序员--ADO.NET小结(下)
- 黑马程序员--ADO.NET知识小结
- 程序员常见面试之 计算机网络 知识点小结
- 程序员常见面试之 计算机网络 知识点小结
- 程序员面试之计算机网络知识点小结
- 黑马程序员之ASP.NET学习笔记:ASP.NET页面传递值的方式
- 黑马程序员之asp.net学习笔记:ASP.NET 页面产生和销毁
- 黑马程序员之ASP.NET学习笔记:ASP.NET页面处理机制
- PHP 缓存
- 如何调试服务器上的程序
- default & nullabel in .net
- 解决 Eclips 中文注释 乱码
- 分文件中的单例模式
- 黑马程序员之ASP.NET个别知识点小结十
- hdu1337-The Drunk Jailer
- 提升速度的几个环节
- 英语面试题整理
- java 程序的运行机制
- 将一个数组中的奇元素全部移到数组的前半部分,即将奇偶元素分开
- To and Fro
- Android标准的Button的selector
- 转:大众点评网产品类 校招题目解析