第一节 构建一个简单的WCF应用

  先吐个槽,到目前为止接触的东西也就是些ado.net、select、delete、update、create、临时表的批量操作、及稍微复杂点的几个表之间查询再带几个excel导入导出 然后会点前端的js、jquery等,所以在公司目前薪水并不高(能在广州生活下去吧,什么买车买房的想都别想),拿自己身边的同志一比较感觉心里不怎么平衡,凡事还是得靠自己
自强才是硬道理,就吐到这里吧!开始我的wcf之旅吧 本人理工科类型的文笔很烂 希望各位大神不要喷小弟哦(参照的书本:WCF全面解析)

  咱们还是从小学开始吧,四则运算,用wcf实现一个加减乘除的小功能

1、新建一个空解决方案

2、添加类库项目(Service.Interface)并添加System.ServiceModel程序集,新建一个接口(ICalculator)

using System.ServiceModel;

namespace Service.Interface
{
[ServiceContract(Name="CalculatorService")]
public interface ICalculator
{
[OperationContract]
double Add(double x, double y);

[OperationContract]
double SubStract(double x, double y);

[OperationContract]
double Mutiply(double x, double y);

[OperationContract]
double Divide(double x, double y);
}
}

ICalculator

3、添加类库项目(Services)实现该接口并为该项目添加项目引用Service.Interface,然后添加一个类CalculatorService并实现接口ICalculator

using Service.Interface;

namespace Services
{
public class CalculatorService:ICalculator
{
public double Add(double x, double y)
{
return x + y;
}

public double SubStract(double x, double y)
{
return x - y;
}

public double Mutiply(double x, double y)
{
return x * y;
}

public double Divide(double x, double y)
{
return x / y;
}
}
}

CalculatorService

4、添加控制台应用程序Hosting(并将服务寄宿与控制台程序中)并启动该控制台程序

  a、通过程序来配置终结点

  b、先配置终结点(以配置文件的形式写,实际项目开发中一般使用这种方式)

  

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="metadataBehavior">
<serviceMetadata httpGetEnabled="true" httpGetUrl="http://localhost:50002/calculatorservice/metadata" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="Services.CalculatorService" behaviorConfiguration="metadataBehavior">
<endpoint address="http://localhost:50002/calculatorservice" binding="wsHttpBinding" contract="Service.Interface.ICalculator"></endpoint>
</service>
</services>
</system.serviceModel>
</configuration>

终结点配置文件

  然后再将服务寄宿在控制台程序中将wcf服务寄宿在控制台程序中

5、现在就可以调用上面建好的wcf服务啦(两种方式调用)

  a、在非当前解决方案下新建一个控制台应用程序,并添加服务引用
输入配置文件中配置的服务元数据的地址:http://localhost:50002/calculatorservice/metadata
输入命名:WCFService ,系统会自动生成与接口相同的方法成员定义(先不管这个,b方法里面介绍) 现在可以使用了

using System;

namespace Client
{
class Program
{
static void Main(string[] args)
{
using (WCFService.CalculatorServiceClient proxy = new WCFService.CalculatorServiceClient())
{
Console.WriteLine(proxy.Add(3, 34));
Console.Read();
}
}
}
}


通过代理对象WCFService.CalculatorServiceClient调用WCF

  b、在当前解决方案下新建一个控制台应用程序Client并添加System.ServiceModel程序集,同时添加Service.Interface和

  修改配置文件,添加system.serviceModel节点

  

using Service.Interface;
using System;
using System.ServiceModel;

namespace Client
{
class Program
{
static void Main(string[] args)
{
using (ChannelFactory<ICalculator> cf = new ChannelFactory<ICalculator>("Calc"))
{
ICalculator calc = cf.CreateChannel();
Console.Write(calc.Add(33, 33));
Console.ReadLine();
}
}
}
}

使用工厂根据配置文件的配置创建代理

先运行Hosting,在运行Client 就可以看到结果

至此,本篇gameover!

小弟第一次写blogs,望大神不要喷我,如有写错的地方 望各位大神一定拍醒我

  

第一节 构建一个简单的WCF应用,布布扣,bubuko.com

时间: 2024-11-08 10:14:32

第一节 构建一个简单的WCF应用的相关文章

WCF学习——构建一个简单的WCF应用(一)

本文的WCF服务应用功能很简单,却涵盖了一个完整WCF应用的基本结构.希望本文能对那些准备开始学习WCF的初学者提供一些帮助. 在这个例子中,我们将实现一个简单的计算器和传统的分布式通信框架一样,WCF本质上提供一个跨进程.跨机器.跨网络的服务调用.在本例中,客户端和WCF应用服务通过运行在同一台机器上的不同进程模拟. 步骤一.构建整个解决方案 1.创建一个空白的解决方案 2.添加四个项目和引用及关系  Service.Interface  用于定义服务契约的类库项目,引用WCF核心程序集Sys

重温WCF之构建一个简单的WCF(一)(2)通过Windows Service寄宿服务和WCF中实现操作重载

参考地址:http://www.cnblogs.com/zhili/p/4039111.html 一.如何在Windows Services中寄宿WCF服务 第一步:创建Windows 服务项目,具体添加步骤为右键解决方案->添加->新建项目,在已安装模板中选择Windows 服务模板,具体如下图示所示: 第二步:添加Windows服务之后,修改对应的Service1.cs文件 using System; using System.Collections.Generic; using Syst

重温WCF之构建一个简单的WCF(一)

步骤一:构建整个解决方案 Service.Interface:用于定义服务契约的类库项目,引用WCF的核心程序集System.ServiceMode.dll Service:用于定义服务类型的类库项目. Hosting:作为服务宿主的控制台应用. Client:一个控制台应用模拟服务的客户端 步骤二:创建服务契约 [ServiceContract(Name="CalculatorService1",//服务契约的名称,也就是客户端调用者生成代理类的接口名称 Namespace = &q

WCF学习——构建一个简单的WCF应用(二)

我们接着上一篇文章进行讲解 http://www.cnblogs.com/songjianhui/p/7060698.html 一:客户端通过添加引用调用服务 WCF应用服务被成功寄宿后,WCF服务应用便开始了服务调用请求的监听工作.此外,服务寄宿将服务描述通过元数据的形式发布出来,相应的客户端就可以获取这些元数据.接下来我们来创建客户端程序进行服务的调用. 1)先运行服务寄宿程序(Hosting.exe) 2) 在Visual Studio 2013的"解决方案资源管理器"中,把Cl

构建一个简单的WCF应用

步骤一:构建整个解决方案 通过vs2015创建一个名称为WcfService空白的解决方案 添加4个项目 Service.Interface:定义服务契约(Service Contract)的类库项目,引用System.ServiceModel.dll. Service:用于定义服务类型的类库项目,由于服务类型需要实现定义在Service.Interface中相应的契约接口,因此该项目具有对Service.Interface项目的引用. Hosting:作为服务宿主的控制台应用.该项目同时引用S

Django入门第一步:构建一个简单的Django项目

Django入门第一步:构建一个简单的Django项目 1.简介 Django是一个功能完备的Python Web框架,可用于构建复杂的Web应用程序.在本文中,将通过示例跳入并学习Django.您将按照以下步骤创建功能完备的Web应用程序,并一路学习框架的一些最重要的功能以及它们如何协同工作. 学习目标: 了解Django是什么以及为什么他是一个伟大的web框架 了解Django的体系结构以及与其他框架的对比 独立搭建一个简单的Django项目和应用程序(app) 2.为什么要学习Django

Android官方入门文档[3]构建一个简单的用户界面

Android官方入门文档[3]构建一个简单的用户界面 Building a Simple User Interface构建一个简单的用户界面 This lesson teaches you to1.Create a Linear Layout2.Add a Text Field3.Add String Resources4.Add a Button5.Make the Input Box Fill in the Screen Width You should also read?Layouts

通过python 构建一个简单的聊天服务器

构建一个 Python 聊天服务器 一个简单的聊天服务器 现在您已经了解了 Python 中基本的网络 API:接下来可以在一个简单的应用程序中应用这些知识了.在本节中,将构建一个简单的聊天服务器.使用 Telnet,客户机可以连接到 Python 聊天服务器上,并在全球范围内相互进行通信.提交到聊天服务器的消息可以由其他人进行查看(以及一些管理信息,例如客户机加入或离开聊天服务器).这个模型如图 1 所示. 图 1. 聊天服务器使用 select 方法来支持任意多个客户机 聊天服务器的一个重要

Android学习路线(四)构建一个简单的UI

Android应用的图形化用户界面的构建使用的是View 和 ViewGroup 对象的层次嵌套. View 对象通常是UI部件,例如 buttons 或者 text fields ,而 ViewGroup 是用来定义它的子布局如何排布的容器,它通常是不可见的,例如一个网格或者一个垂直的列表. Android提供XML词汇与View或者ViewGroup的子类的对应,这样的话你就可以通过XML元素的层级嵌套来定义你的UI. 另一种布局 使用XML声明UI比在运行时代码中声明更有用处可以在很多地方