随笔分类 -  C#

WCF学习笔记
摘要:1. WCF简介2. 一个例子--为什么需要WCF3. WCF能提供什么4. 总结.net remoting WS 和WCF区别5. 一个Demo6. ReferencesWCF简介 WCF是一个面向服务的用来在不同应用间进行通信的统一的松耦合编程框架,它是现有Windows平台下分布式通信技术(.net Remoting, Web Services等)的一种整合。说简单了WCF就是提供了一个统一的编程架构或者说模式解决不同应用间(Web应用,.net应用,其他平台下应用)通信问题。以下这段文字摘自于Artech的博客,他概括的说明了WCF的作用和技术侧重点:WCF中各个子系统之间是通过XML 阅读全文
posted @ 2012-08-08 15:54 salomon 阅读(358) 评论(0) 推荐(0) 编辑
C#下内存管理--垃圾收集
摘要:章节安排内存管理简介垃圾回收机制性能问题C#下非托管资源的处理要强调的几点References内存管理简介 对于任何一种编程语言,内存管理都是不得不提很重要的一块内容,但可惜的是目前为止没有任何一种编程语言对内存管理处理的非常完美,每种语言都在兼顾性能效率,语法语义易用性等方面折中中有所侧重。例如较之于C#,JAVA等语言C++号称不需要垃圾收集,因为C++本身产生的垃圾很少,诚然这是C++的优势,这也就是为什么在内存受限或者效率优先的环境下优先考虑C++,但它的缺点也是明显的--程序员必须自己控制内存管理,很容易产生内存泄漏,这同时也造就了C++很难掌握。感谢摩尔定律吧,它促使了垃圾收集这个 阅读全文
posted @ 2012-07-30 15:40 salomon 阅读(10241) 评论(3) 推荐(7) 编辑
C#下的异步编程及其同步机制
摘要:前几天公司内部有人搞了一个关于多线程及其同步问题的讲座,内容很丰富,覆盖面很广,让人听了大呼过瘾。他采取了横向铺陈的方法讲的,罗列了C#下异步编程方法和模式及各种同步机制,这种讲述方式对于熟悉这块的人来说总结一下,帮助很大,但对于新手有可能就云里雾里了。虽然我研究不深,但纵向讲一下这一块内容,对新手入门有可能会有所帮助,也算是自己对这块内容的一种总结。只讨论技术,不涉及细节和Demo。 本篇文章涵盖一下几部分内容: 1. 什么是异步编程,为什么会需要异步编程 2. .NET下的异步编程及其发展 3. .NET线程同步机制及线程间数据封送 4. 异步模式 5. 线程安全及异常处理 6. 线程取. 阅读全文
posted @ 2012-07-26 18:12 salomon 阅读(6781) 评论(9) 推荐(8) 编辑
.NET FrameWork 技术内幕
摘要:这个周末找了一堆的MSDN杂志中关于.net framework 基础的东西,有知道的又不知道的,看完了就全知道了,当然了只是大致了解。惊叹感慨之余,聊以记之,备忘。垃圾回收:http://msdn.microsoft.com/zh-cn/magazine/bb985010(en-us).aspxhttp://msdn.microsoft.com/zh-cn/magazine/bb985011(en-us).aspxhttp://msdn.microsoft.com/zh-cn/magazine/cc534993.aspxhttp://msdn.microsoft.com/zh-cn/maga 阅读全文
posted @ 2012-07-03 10:47 salomon 阅读(492) 评论(1) 推荐(0) 编辑
ExecutionContext & SynchronizationContext
摘要:最近在研究.net4.5中的有关异步编程的新特性,从自己Google Reader 订阅的一些博客中接触到了两个很陌生的单词ExecutionContext和SynchronizationContext,于是仔细研究了一下,记录下来备忘。什么是ExecutionContext在许多系统中thread-local storage(TLS)线程本地存储记录了正在运行的当前环境或者上下文的一些信息,而在CLR中ExecutionContext做了类似的事情.在同步的世界中,所有的一切都发生在当前线程内,线程内有关的所有数据对其内所有代码可见,也同时被所有代码所操纵影响.也就是说假设有方法ABC在当前 阅读全文
posted @ 2012-06-28 11:47 salomon 阅读(4633) 评论(1) 推荐(1) 编辑
WinRT 异步模型
摘要:开篇第一句:.net4.5中异步方法的实现远不如看起来的那么简单,编译器背后代替开发人员生成了大量的代码 做了好多事情使它看起来简单了,这些代码和过去实现异步操作时必须开发人员手动编写并维护的样板代码的数量类似。此外,编译器生成的代码会在 .NET Framework 中调用库代码,再次代替开发人员完成更多的工作。要获得正确的思维模式并使用这一模式做出合适的开发决策,重要的一点是了解编译器代替您生成了哪些内容。 .net4.5中定义了大量的异步方法***Async(例如Windows.System.Launcher.LaunchUriAsync() )这些方法的返回类型是IAsyncInfo或 阅读全文
posted @ 2012-06-27 15:10 salomon 阅读(3385) 评论(3) 推荐(4) 编辑
一个简单的自动化测试架构的实现(C#)
摘要:翻看自己以前写的代码,突然间看到以前模拟的一个自动化测试架构的实现。幸好自己有写学习笔记的习惯,整理一下,贴出来,以备忘。特性会作为元数据嵌入到程序集,通过反射机制能够得到这些元数据信息。程序员可以自己定义特性,对特性进行某种格式的定义,并利用特性来影响自己编写代码编译后的程序集(assmbly)自定义特性在编译时作为元数据被编译到程序集中,运行时通过反射机制被读取。这应该是这个自动化测试架构的立足点。特性的应用:特性一般会在设计框架时很有用。 1. 利用反射机制,作为特性的元数据可以反过来在运行时影响代码的运行配置项,(例如:Windows Form程序中[STAThread]和[M... 阅读全文
posted @ 2012-05-30 19:49 salomon 阅读(15345) 评论(2) 推荐(2) 编辑