什么是WCF

什么是WCF文章目录一 概述二 基于 Asp net 的应用程序开发与面向服务开发三 第一个 WCF 程序四 场景五 将 WCF 程序寄宿在 B 服务器的 IIS 之上六 在客户端 A 服务器 创建服务的引用七 使用 WCF 服务端的方法一 概述 WindowsCommu WCF 是由微软发展的一组数据通信的应用程序开发接口 可以翻译为 Windows 通讯接口 它是 NET 框架的一部分 由

一、概述

Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口,它是.NET框架的一部分。由 .NET Framework 3.0 开始引入。

WCF的最终目标是通过进程或不同的系统、通过本地网络或是通过Internet收发客户和服务之间的消息。

WCF合并了Web服务、.net Remoting、消息队列和Enterprise Services的功能并集成在Visual Studio中。

WCF专门用于面向服务开发。

二、基于Asp.net 的应用程序开发与面向服务开发

在这里插入图片描述

客户机使用浏览器访问服务器A,服务器A为了业务需要与其他各种应用部署在服务器B、C、D…再通过WCF技术互相通信,相互访问…然而面向服务的好处不仅仅在此,他还提供了不同语言不同操作系统的可交互性…由于本文不是介绍SOA的文章,感兴趣的同学可以参见:SOA

三、第一个WCF程序

代码如下:

using System.ServiceModel; namespace WCFService { 
    [ServiceContract] public interface IUser { 
    [OperationContract] string ShowName(string name); } } namespace WCFService { 
    public class User : IUser { 
    public string ShowName(string name) { 
    string wcfName = string.Format("WCF服务,显示姓名:{0}", name); return wcfName; } } } 

在请求窗口中的值中输入参数“你的姓名”,然后点击“调用”,在响应窗口中会出现返回值“WCF服务,显示姓名:你的姓名”,说明测试成功,点击下面的XML也可以看到XML的数据传输。我们现在建立好了服务的应用程序和业务逻辑,即非常简单的打印姓名的方法,测试也成功了。那么我们怎么用呢?

四、场景

我们设计的场景是在生产中经常应用的场景,把WCF程序寄宿在IIS之上。假设场景如下:A服务器和B服务器。我们把我们刚刚建立的WCF程序“部署”在B服务器上(本教程的A,B服务器都放是我自己的一台机器),我们的目标是在A服务器的应用程序来访问B服务器的WCF程序,实现服务器端的应用程序通讯。

五、将WCF程序寄宿在B服务器的IIS之上

六、在客户端[A服务器]创建服务的引用

七、使用WCF服务端的方法

WcfTest.aspx的代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WCFTest.aspx.cs" Inherits="WCFClient.WCFTest" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <asp:TextBox ID="txtName" runat="server"></asp:TextBox><br /> <asp:Button ID="btnSubmit" runat="server" Text="测试WCF服务" OnClick="btnClick" /> </form> </body> </html> using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; //引用WCF服务的名称空间 using WCFClient.WCFService; namespace WCFClient { 
    public partial class WCFTest : System.Web.UI.Page { 
    protected void Page_Load(object sender, EventArgs e) { 
    } protected void btnClick(object sender, EventArgs e) { 
    UserClient user = new UserClient(); string result = user.ShowName(this.txtName.Text); Response.Write(result); } } } 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/214000.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午5:12
下一篇 2026年3月18日 下午5:13


相关推荐

  • Java输入输出流详解

    Java输入输出流详解通过数据流、序列化和文件系统提供系统输入和输出。Java把这些不同来源和目标的数据都统一抽象为数据流。Java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为你往往需要包装许多不同的对象。在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流。1.1、Java流

    2022年5月26日
    57
  • Python3之urllib库的使用总结

    Python3之urllib库的使用总结Urllib 库是 Python 中的一个功能强大 用于操作 URL 并在做爬虫的时候经常要用到的库 在 Python2 x 中 分为 Urllib 库和 Urllin2 库 Python3 x 之后都合并到 Urllib 库中 使用方法稍有不同 本文介绍的是 Python3 中的 urllib 库 什么是 Urllib 库 Urllib 是 Python 提供的一个用于操作 URL 的模块 我们爬取网页的时候 经常需要用到这个库 升级合并后 模块

    2026年3月18日
    1
  • Linux下Open函数

    Linux下Open函数文章目录Open介绍参数案例输出结果:文件描述符fdOpen介绍 Open函数用来打开一个文件,建立一个文件描述符到文件路径的映射,建立文件标识。 open函数原型如下所示:#include&amp;lt;fcntl.h&amp;gt;intopen(constchar*pathname,intflag,…);参数pathname是要打开或者创建的文件路径名,可以是绝对路径也…

    2022年5月26日
    35
  • php 简单的存在 (方法之间的神奇作用:容错)

    php 简单的存在 (方法之间的神奇作用:容错)

    2022年1月7日
    47
  • 8、Cocos2dx 3.0三,找一个小游戏开发3.0存储器管理的版本号

    8、Cocos2dx 3.0三,找一个小游戏开发3.0存储器管理的版本号

    2022年1月5日
    43
  • 4个线程池_vc2010线程win32线程已退出

    4个线程池_vc2010线程win32线程已退出在windows中,系统提供了QueueUserWorkItem函数实现异步调用,这个函数相当于在线程池中建立多个用户工作项目,跟普通线程机制一样,线程池也有线程的同步等机制。 【函数原型】BOOLWINAPIQueueUserWorkItem(__inLPTHREAD_START_ROUTINEFunction,__inP…

    2026年3月4日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号