注册通行证 用户名 密码
  • 文章投稿
  • 博客
  • 论坛
  • 设为首页
  • 加入收藏
jztop.com网络技术
  • 首页
  • | iT新闻
  • | 操作系统
  • | 组网建网
  • | 网络安全
  • | 程序开发
  • | 办公一族
  • | 工具软件
  • | 网页制作
  • | 多媒体制作
  • | 网吧技术
  • | 服务器
  • | 专题教程
Vista | 软件评测 | 系统备份 | 优化 | 进程 | 聊天 | 病毒 | Linux | 黑客 | 防火墙 | 数据库 | Web开发 | Java | Word | 游戏 | 32位开发 | 移动开发
当前位置:首页 > 操作系统 > Solaris 内容正文:Windows通讯基础编程之基础知识

Windows通讯基础编程之基础知识

发布时间:2006-04-10 20:08:06 来源:天极开发 网友评论 0 条
  Windows通讯基础(WCF)--即我们原来知道的Indigo--是微软用于Windows的新的连接(connected)系统平台。本文介绍了一些基本的原理,建立了一个简单的应用程序。

  WCF是一种不断增强的和进化的技术,它把以前所有独特和分散的微软连接技术合并到了单一的System.ServiceModel名称空间之中。WCF中所包含了Web服务(ASMX)、Web服务扩展(WS*)、微软消息队列(MSMQ)、企业级服务、COM+和.NET Remoting。

  让一个名称空间包含所有这些内容是非常有益的,它使我们设计、开发和部署需要连接的应用程序大大地简化了。有了WCF之后,你不需要在大量不同的名称空间的实现之间进行选择,也不需要编写类型来建立连接的应用程序。无论你的应用程序是通过松散耦合的Web服务连接,还是通过紧密耦合的企业级服务来连接,编写代码的模型都是一致的,不同的信息类型之间的转换变得平缓很多--因为它们都使用了同一个编程名称空间。

  使用WCF

  WCF遵循"软件即服务"模型,也就是所有的功能单元都被定义为服务。开发者不需要关心通讯(communications)是如何工作的,而只需要关心服务的位置、服务之间如何对话以及如何描述这些内容。因此,对于任何服务来说,你都必须知道下面三个问题的答案:

  1.服务的地址。服务在哪儿?它在互联网上、自己的网络中的某台计算机上、还是在自己使用的计算机上?

  2.服务的绑定。如何与它对话?我是使用SOAP还是MSMQ?

  3.服务的规范(Contract)。它能为我做什么事情?我应该给它传递什么类型的数据?它返回什么样的数据?

  如果你对Web服务非常熟悉,或许你已经理解了WSDL术语中的这三个方面的内容。WCF采用了这种定义服务工作方式的流行和成功的方法,并对它进行了扩展,使它能够与其它形式的通讯(微软消息队列、企业级服务、COM+和.NET Remoting)一起工作。

  第一个WCF应用程序:建立服务

  如果你现在还不太熟悉WCF的一些术语,例如绑定、规范、寻址(addressing)等等,也不要担心;这类术语最好从示例中学习。在本文后面的部分中,你将建立自己的第一个Indigo应用程序。为了建立这个应用程序,你必须遵循一定的步骤。

  开始之前,在硬盘上建立一个物理目录(C:/tconvert)以存放应用程序,并把这个目录映射为IIS虚拟目录(叫做Temperatures)。如果你使用的是Windows Server 2003,那么请确保ASPNET进程能够访问这个目录。

  第一步是建立一个Windows通讯基础服务规范。它基本上是一个被标记的接口,表明自己是一个服务规范。详见列表1。

  列表1:WCF服务规范。它显示了温度转换服务示例的服务规范。

namespace Devx.Indigo.Samples
{
 using System;
 using System.ServiceModel;
 [ServiceContract()]
 public interface ITemperatures
 {
  [OperationContract]
  double ftoc(double n1);
  [OperationContract]
  double ctof(double n1);
 }
}

  请注意上面属性的标记。ServiceContract()属性表明ITemperatures接口将成为WCF中的一个服务规范,OperationContract()表明ftoc和ctof将被定义为该规范中的操作符(operation)。因此,该过程是很简单的。

  第二步是在它上面进行扩展,建立用于实现列表1中定义的接口的代码。下面的代码建立了Service类。

using System;
using System.ServiceModel;

namespace Devx.Indigo.Samples
{
 [ServiceContract()]
 public interface ITemperatures
 {
  [OperationContract]
  double ftoc(double n1);
  [OperationContract]
  double ctof(double n1);
 }
 public class TemperatureService : ITemperatures
 {
  public double ftoc(double f)
  {
   double dReturn = 0.0;
   dReturn = ((f - 32) * 5) / 9;
   return dReturn;
  }

  public double ctof(double c)
  {
   double dReturn = 0.0;
   dReturn = ((c + 32) * 9) / 5;
   return dReturn;
  }
 }
}

  你可以使用下面的命令来编译这段代码,即在命令提示符下输入下面一行内容。你必须给.NET框架组件设置PATH(路径)信息。

csc /r:System.ServiceModel.dll
/out:TemperatureService.dll /t:library
TemperatureService.cs

  在tconvert目录下建立BIN子目录,并把上面生成的DLL文件复制到该目录中。

  下一步,配置web.config文件(见列表2)。web.config包含了WCF处理各项事务需要的所有信息。仔细查阅这个文件是很有帮助意义的。请注意,这个文件的语法在每个版本中都好像有很大的改变,甚至于在微软的在线文档和供下载的文档中也有所不同。

  列表2:TemperatureService的 Web.Config文件。这个文件定义了TemperatureService的服务、行为和绑定。

<?xml version="1.0" encoding="utf-8" ?>
<configuration
xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.serviceModel>
<services>
<service behaviorConfiguration="TemperatureServiceBehavior"
type="Devx.Indigo.Samples.TemperatureService" >
<endpoint address=""
binding="wsHttpBinding"
bindingConfiguration="Binding1"
contract="Devx.Indigo.Samples.ITemperatures" />
</service>
</services>
<behaviors>
<behavior configurationName="TemperatureServiceBehavior"
returnUnknownExceptionsAsFaults="True">
</behavior>
</behaviors>
<bindings>
<wsHttpBinding>
<binding configurationName="Binding1" />
</wsHttpBinding>
</bindings>
</system.serviceModel>
<system.web>
<compilation debug="true" />
</system.web>
</configuration>

  在编写WCF应用程序的时候,理解列表2所示的web.config文件对我们很有用处,特别是在你没有使用Visual Studio .NET的情况下。<system.ServiceModel>标记保存着WCF服务的全部信息。
相关文章
  • 评测表明Windows XP在苹果机上运行良好
  • 移动版Windows Live Mail开始测试
  • 全球首个感染Windows/Linux的病毒现身
【评论】【收藏本文】【打印】【关闭】
上一篇文章:玩家必备 Windows系统常见错误大全
下一篇文章:Windows卸载顽固程序精彩技巧集锦
讨论区
查看
已有 0 位对此新闻感兴趣的网友发表了看法
匿名发表
注册通行证 登陆
图文阅读推荐
不再难看!Windows警告窗口也能DIY
不再难看!Windows警告窗口也能DIY
Windows操作系统声音故障完全解析
Windows操作系统声音故障完全解析
系统保护只用两三招 病毒木马不上门
系统保护只用两三招 病毒木马不上门
清除Windows系统里未知的自启动程序
清除Windows系统里未知的自启动程序
推荐阅讯
  • 常见电脑故障全面解答
  • Windows系统维护之注册表清除
  • 不为升级发愁 Windows批量升级补丁方法
  • 局域网共享新法 我的文件会隐形
  • Windows系统下NTFS格式分区的修复
  • Windows文件命名中的禁忌还管用吗?
  • 到底谁需要64位操作系统
  • Windows中几则共享信息快捷管理命令
  • 认识Windows设备管理器中的问题符号
  • 让计算机启动更快的十五招
阅读排行
  • 1.ie无法打开搜索页
  • 2.免费工具 全能助手Windows优化王
  • 3.DOS命令大全
  • 4.系统保护只用两三招 病毒木马不上门
  • 5.电脑开机时出现,托盘程序初始化失败
  • 6.MMC不能打开文件解决方法
  • 7.到底谁需要64位操作系统
  • 8.Windows系统“无法打开”故障解决方法
  • 9.Windows操作系统声音故障完全解析
  • 10.制作全自动64位Windows XP安装光盘(1)
专题教程
  • 大话G游 专题:手机病毒揭密
  • ARP攻击防范与解决方案 路由故障处理手册
  • Picasa中文版_Picasa教程 专题:清除流氓软件
  • Firefox专题 seo搜索引擎优化专区
  • 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
  • 杀毒软件反被病毒杀 连"救命"都不能喊
  • 金山ARP防火墙
  • 还原卡神话破灭“机器狗”病毒来势汹汹
  • cctv经济半小时:你的手机现在安全吗?
  • 新挂马方式开始流行 ARP挂马称雄局域网
  • 木马和病毒清除的通用解法
  • IP地址不再冲突 查找ARP攻击者元凶
  • 教你几招识别和防御Web网页木马
  • 分析:封杀BT只是暂时的止痛药
  • QQ爆危险漏洞,“QQ游戏邀请大盗”邀请你玩病
关于我们 | 诚聘英才 | 联系我们 | 版权声明 | 网站大事 | 网站地图 | 意见建议
CopyRight 2005-2007 Jztop.Com 版权所有 未经许可 请勿转载