仓酷云 发表于 2015-1-18 11:19:59

ASP.NET网页编程之多线程与WPF 4.5仓酷云

c++是语言,其实C++和net网页编程的应用范围根本就不一样的。在net网页编程应用的领域内,c++是不合适的。所以微软才搞了C#和net网页编程对抗。WPF4.5已改善了其关于多线程数据绑定的撑持,但所用手艺却带有风险。本文将会先容其事情道理和怎样才干确保平安利用。
WPF数据绑定关于多线程的撑持一向都没甚么详细企图。当对象在非UI线程上收回了属性变更事务时,数据绑定基本举措措施就会对其作出呼应。一般这是可行的,但由于潜伏的竞态前提,这么做并非真正平安的。从盘算机迷信的视角来看,禁用跨线程的会见是更加准确的做法,由于这才是招致汇合变更事务的本源。
但遗憾的是,开辟者其实不老是在乎准确性,他们只是想把事变做完。如许,他们会利用各类“线程平安”或是“分发平安”的可观察汇合。在一切这些做法中,基础的计划就是在挪用前将汇合变更的事务编排到准确的线程中。在这类情形下,准确的线程就是分发者所运转的谁人线程。但遗憾的是,这么做并未打消竞态前提的大概性。
在WPF4.5中,微软向开辟者供应了一种更加平安的办理计划。经由过程挪用BindingOperations.EnableCollectionSynchronization,WPF数据绑定引擎会利用锁。其默许举动是取得前述挪用所指定对象上的锁,但你也能够利用更加庞大的锁形式。但遗憾的是,这类体例很简单堕落;关于背景线程来讲,你很简单健忘取得汇合的锁。当汇合不再必要时,你还大概健忘禁用汇合同步,这会招致内存保守。
该手艺的另外一个成绩是它其实不会回护单个对象。如许当在锁下读取汇合时,汇合中每项的属性就纷歧定可以包管会被平安读取。这关于庞大的getters和没法以原子体例举行设置的属性来讲极易发生成绩(好比说年夜的值范例)。
我们激烈倡议利用背景线程的开辟者只利用汇合中的稳定对象来更新汇合。假如对象没法包管是稳定的,那末最少在确保属性getters的线程平安上要分外当心。当向汇合中增加对象时,你最好不要利用该特征,而是将汇合更新编排到UI线程中。
检察英文原文:MultithreadingandWPF4.5
前几天同学问我学习方向的问题。有点想法,不知道对不对,怕误导同学,现在“开源一下”。注:括号内是我现在整理的时填加上的。

冷月葬花魂 发表于 2015-1-20 20:38:41

但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。

简单生活 发表于 2015-1-21 11:49:53

它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。

若天明 发表于 2015-1-29 16:31:04

目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案.

仓酷云 发表于 2015-2-5 03:53:47

ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。

admin 发表于 2015-2-11 03:21:19

asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦!

小魔女 发表于 2015-2-21 17:42:23

如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。

变相怪杰 发表于 2015-3-10 03:38:47

通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。

飘灵儿 发表于 2015-3-17 04:11:12

如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。

不帅 发表于 2015-3-23 18:46:54

如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。
页: [1]
查看完整版本: ASP.NET网页编程之多线程与WPF 4.5仓酷云