WCF客户端与服务端通信简单入门教程

服务端

1.新建空白解决方案,然后再空白解决方案中新建:WCF服务应用程序。建完后如图:

2.删掉自动生成的IService1.cs和Service.svc并添加WCF服务文件StudentService.svc,VS会自动生成IStudentService.cs 在添加一个Student类,如图:

Student.cs:

/// <summary>
    /// DataContract数据约定,保证student类在WCF调用中被序列化
    /// DataMember 在被序列化的成员变量中必须加 [DataMember]标签
    /// </summary>
    [DataContract]
    public class Student
    {
        [DataMember]
        public string StudentId { get; set; }
        [DataMember]
        public string StudentName { get; set; }
    }

IStudentService.cs:

/// <summary>
    ///  ServiceContract:服务约定,代表我们所能操作的接口集合,提    供功能点。
    ///  OperationContract: 每个对外需要发布的方法都需要加上此标签
    /// </summary>
    [ServiceContract]
    public interface IStudentService
    {
        [OperationContract]
        List<Student> RemoveStudent(string id);
    }

StudentService.svc:

public class StudentService : IStudentService
    {

        public List<Student> RemoveStudent(string id)
        {
            var students = new List<Student>() {
                new Student {StudentId="1",StudentName="学生1" },
                new Student {StudentId="2",StudentName="学生2" }
            };

            var student = students.Find(m => m.StudentId == id);

            students.Remove(student);

            return students;
        }
    }

vs2012-->Visual Studio Tools-->VS2012 x86 本机工具命令提示   -->输入 wcfhtestclient     可以出现下图!   客户端直接测试。

到现在为止我们WCF服务端程序建好了,我们把StudentService.svc设为起始页,F5运行一下,会弹出来WCF测试客户端,如图

双击左侧的RemoveStudent(),在右侧输入值然后点击调用,如图:

结果如我们预料的那样,StudentId为1的数据被删掉了。

接下来我们把它部署到IIS上, 在默认文档里添加StudentService.svc,然后浏览,如图:

客户端

1.新建空白解决方案,新建ASP.NET WEB应用程序,名称为WCFClient,添加服务引用,服务引用地址为上图地址中的

http://localhost:88/StudentService.svc?wsdl 

如图:

WCFTest.aspx:

<form id="form1" runat="server">
        <div>
            <table>
                <tr>
                    <td> <asp:TextBox ID="txtStudentId" runat="server"></asp:TextBox></td>
                     <td><asp:Button ID="btnSubmint" runat="server"  Text="删除" OnClick="btnSubmint_OnClick"/></td>
                </tr>
            </table>

        </div>
    </form>

WCFTest.aspx.cs:

protected void btnSubmint_OnClick(object sender, EventArgs e)
        {
            var wcfService = new WCFService.StudentServiceClient();

            var str = string.Empty;

            wcfService.RemoveStudent(this.txtStudentId.Text.Trim())
                .ToList()
                .ForEach(m =>str += m.StudentId + ":" + m.StudentName);

            Response.Write(str);
        }

时间: 2024-10-27 19:37:34

WCF客户端与服务端通信简单入门教程的相关文章

Netty实现客户端和服务端通信简单例子

Netty是建立在NIO基础之上,Netty在NIO之上又提供了更高层次的抽象. 在Netty里面,Accept连接可以使用单独的线程池去处理,读写操作又是另外的线程池来处理. Accept连接和读写操作也可以使用同一个线程池来进行处理.而请求处理逻辑既可以使用单独的线程池进行处理,也可以跟放在读写线程一块处理.线程池中的每一个线程都是NIO线程.用户可以根据实际情况进行组装,构造出满足系统需求的并发模型. Netty提供了内置的常用编解码器,包括行编解码器[一行一个请求],前缀长度编解码器[前

Netty入门之客户端与服务端通信(二)

Netty入门之客户端与服务端通信(二) 一.简介 在上一篇博文中笔者写了关于Netty入门级的Hello World程序.书接上回,本博文是关于客户端与服务端的通信,感觉也没什么好说的了,直接上代码吧. 二.客户端与服务端的通信 2.1 服务端启动程序 public class MyServer { public static void main(String[] args) throws InterruptedException { EventLoopGroup bossGroup = ne

WCF客户端获取服务端异常[自定义异常]

引言 经过不断的摸索,询问/调试,终于学会了关于WCF客户端与服务端之间异常的处理机制,在此来记录自己的成果,用于记录与分享给需要的伙伴们. 首先感谢[.NET技术群]里群主[轩]的大力帮助,如有需要大家也请欢迎加入[.NET技术群](群号:199281001),一起讨论交流.NET技术(ASP.NET MVC4.MVC5/C#/WPF/WCF),但愿大家在技术上有更多的成就,废话不多说,直接开始分享. 关于WCF服务端的原生抛出异常,我就不多说了,相信大家找到这篇博文的时候,已经尝试过诸多方法

WCF 客户端与服务端消息传输

WCF很多需要认证信息,保证服务的安全,可以使用消息来实现 WCF 实现消息的方式: WCF中有两个接口: IClientMessageInspector [定义一个消息检查器对象,该对象可以添加到 System.ServiceModel.Dispatcher.ClientRuntime.MessageInspectors集合来查看或修改消息] IDispatchMessageInspector  [定义一些方法,通过这些方法,可以在服务应用程序中对入站和出站应用程序消息进行自定义检查或修改.]

警察与小偷的实现之一客户端与服务端通信

来源于ISCC 2012 破解关第四题 目的是通过逆向police,实现一个thief,能够与police进行通信 实际上就是一个RSA加密通信的例子,我们通过自己编写客户端和服务端来实现上面的thief和police的功能.. 要通信,这们这次先通过python写出可以进行网络连接的客户端与服务端.. 服务端代码 #!/usr/bin/env python import SocketServer from time import ctime HOST = '127.0.0.1' PORT =

[Java]命令行模拟TCP客户端与服务端的简单小程序遇到的问题(基础不牢!扎实和亲手实践比什么都重要!)

简单得不能再简单的需求: 简单模拟TCP客户端与服务端的一次连接和通信,客户端发出一个消息,服务端回馈一个消息 自己第一次编写的代码: Client: class TcpClient1 { public static void main(String[] args) throws Exception { Socket s=new Socket("127.0.0.1",10010); OutputStream out=s.getOutputStream(); out.write(&quo

使用多线程实现多个客户端与服务端通信1

Server.java package socket; import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.InetAddress;import java.net.ServerSocket;import java.net.Socket; /** * 聊天室服务端 * @author 小

Python socket编程客户端与服务端通信

目标:实现客户端与服务端的socket通信,消息传输. 客户端 客户端代码: from socket import socket,AF_INET,SOCK_STREAM #服务端的ip地址 server_ip = '127.0.0.1' #服务端socket绑定的端口号 server_port = 20000 if __name__ == '__main__': while True: str_msg = input("请输入要发送信息:") if str_msg != "&

二、网络编程-socket之TCP协议开发客户端和服务端通信

知识点:之前讲的udp协议传输数据是不安全的,不可靠不稳定的,tcp协议传输数据安全可靠,因为它们的通讯机制是不一样的.udp是用户数据报传输,也就是直接丢一个数据包给另外一个程序,就好比寄信给别人,信丢了你也不知道,tcp传输需要先和服务端建立连接,当客户端与服务器连接时,服务器会给出应答,我俩连上了,而且数据传过来还会进行一个数据包数量验证,不一致会重新发送,还有其他种种验证,总之保证了数据传输安全可靠   这一章主要介绍使用套接字,编写一个tcp协议客户端和服务端.同样要用到上一章节提到小