摘要:
正如第三章“信道”所描述的,信道栈是一个由一个或多个信道组成用来处理消息的层次通信栈。绑定是预先设置的信道栈。它们代表了在客户端和服务端之间的线上契约。每个绑定由通信中涉及的传输,编码和协议确定。WCF使用绑定为多样化通信场景集合配置信息。[第1篇] 基础最普通的通信场景,比如网络服务,REST/POX 服务和基于队列的应用都在盒子外面提供。例如,basicHttpBinding绑定意味着使用基于ASP.NET Web Services的服务或者与WS-I 基础协议1.1 相适应的服务。ws2007HttpBinding 和wsHttpBinding 绑定类似于basicHttpBinding 阅读全文
阅读排行榜
WCF 第一章 基础 使用代码生成WCF服务
2011-06-22 21:01 by DanielWise, 2744 阅读, 收藏,
摘要:
完成一个WCF服务,你要完成一个.NET 类然后使用System.ServiceModel 属性来修饰这个类。System.ServiceModel 命名空间与.NET 3.0 一起安装而且包含了大多数WCF实现。当代码编译时,CLR(公共语言运行库)解释这些属性,使用运行时代码取代它们。对于.NET来说属性并不是新事物; 在.NET 1.0 时它们已经存在了。WCF,就像.NET 1.0,1.1和2.0 中的ASMX,当写服务时使用属性来提高我们的生产力。 列表1.1 中显示了寄宿在控制台应用程序的WCF服务的完整代码。在这个例子中,我们做了以下工作。 定义契约。写一个.NET 类做一些有用 阅读全文
C# 线程手册 第五章 多线程应用程序 .NET 中的扩展性
2012-04-19 22:27 by DanielWise, 2720 阅读, 收藏,
摘要:
如果你有一个多处理器系统,那么你将有机会体验到线程真正的价值。Windows 操作系统负责向处理器分配线程,正如你在本书中看到的那样,启动一个进程会自动运行一个线程。.NET Framework 不提供细粒度的处理器分配控制,而是允许操作系统控制调度,这是由于操作系统比CLR 更加了解处理器的负载。CLR 负责提供一些诸如整个进程运行在哪个处理器上的控制。然而,一个进程中的所有线程都会运行在一个处理器上,控制进程中的线程运行在哪个处理器上的内容不会在本书中介绍。 如果你只有一个主线程,那么在这个线程中的每个任务都会运行在同一个处理器上。然而,如果系统中又新建了一个线程,那么操作系统负责调度这. 阅读全文
WCF 第一章 基础 实现一个WCF服务
2011-06-22 20:57 by DanielWise, 2706 阅读, 收藏,
摘要:
所以客户端代码可以简单的调用一个终结点。代理接口不必与服务签名保持一致,但是代理需要确保传输给服务的消息就是服务契约所描述的。app.config 文件包含了特殊绑定。实现一个WCF服务 这一部分描述怎么样使用WCF实现一个简单的服务。最简单的方式,我们将使用HTTP 协议,我们将使用文本形式的XML文档。对于安全,我们假设它已经在应用程序中进行了相关处理。我们使用了同步请求-回复方式而且我们的服务只支持一个操作,就是接受输入字符串返回double 型输出。在接下来的章节中,我们会改变所有这些假定,但是目前为止,我们需要排除不必要的复杂性。仅仅是ABCs 定义一个服务终结点,要记住ABCs:地 阅读全文
C# 线程手册 第六章 线程调试与跟踪 跟踪开关
2012-04-25 21:41 by DanielWise, 2705 阅读, 收藏,
摘要:
当你的程序接近部署阶段时,你可能想从代码中去掉所有的跟踪和调试消息。然而,你不得不从代码中一条一条地寻找调试指令并将其去掉。对于这种情况你可以在程序编译期间使用编译标志处理。从Visual Studio.NET IDE, 你可以在解决方案管理窗口右键工程名->从菜单页选择属性。如下图对话框显示: 你只需要简单地将定义调试常量和跟踪常量选项勾掉,重新编译解决方案,所有的跟踪和调试代码都将会被从应用程序中被去掉。 为了去掉跟踪功能,你可以使用csc.exe 命令行编译器。在编译时使用/d:TRACE=FALSE /d:DEBUG=FALSE 开关。 对跟踪代码添加开关功能... 阅读全文
浙公网安备 33010602011771号