WCF实现的计算器功能实例
1. 准备工作
- 安装 Visual Studio 2017 及以上版本。
- 确认已安装 .NET Framework 4.7.2 及以上版本。
- 准备一个空白的 WCF 应用程序项目。
2. 创建 WCF 服务
- 在项目中添加一个 WCF 服务。右键项目 -> 添加 -> 新增项 -> WCF 服务。
- 在
IService.cs
中定义服务契约。如下所示:
[ServiceContract]
public interface ICalculatorService
{
[OperationContract]
int Add(int a, int b);
[OperationContract]
int Subtract(int a, int b);
[OperationContract]
int Multiply(int a, int b);
[OperationContract]
int Divide(int a, int b);
}
- 在
Service1.svc.cs
中实现服务契约。如下所示:
public class CalculatorService : ICalculatorService
{
public int Add(int a, int b)
{
return a + b;
}
public int Divide(int a, int b)
{
return a / b;
}
public int Multiply(int a, int b)
{
return a * b;
}
public int Subtract(int a, int b)
{
return a - b;
}
}
- 配置 WCF 服务终结点。在
Web.config
文件中加入以下代码:
<system.serviceModel>
<services>
<service name="WcfServiceLibrary1.CalculatorService">
<endpoint address=""
binding="basicHttpBinding"
contract="WcfServiceLibrary1.ICalculatorService" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
3. 测试 WCF 服务
- 运行 WCF 服务,启动调试(F5)。
- 在弹出的浏览器窗口中,进入
Service1.svc
的页面。 - 点击页面上的
Get a test client for this service
,打开测试客户端。 - 在测试客户端中测试服务契约的每一个方法。
4. 消费 WCF 服务
- 创建一个新的控制台应用程序项目。
- 在控制台应用程序中添加对 WCF 服务的引用。右键项目 -> 引用 -> 添加服务引用。
- 在弹出的对话框中输入 WCF 服务的地址,然后点击“Go”按钮。系统会找到 WCF 服务并显示服务契约。
- 输入引用名称,点击“确定”。
- 使用引用名称创建服务契约的客户端。
示例1:在控制台应用程序中使用 WCF 服务
using System;
using ConsoleApp1.ServiceReference1;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
CalculatorServiceClient calculator = new CalculatorServiceClient();
int a = 10, b = 5;
Console.WriteLine($"a + b = {calculator.Add(a, b)}");
Console.WriteLine($"a - b = {calculator.Subtract(a, b)}");
Console.WriteLine($"a * b = {calculator.Multiply(a, b)}");
Console.WriteLine($"a / b = {calculator.Divide(a, b)}");
calculator.Close();
Console.ReadKey();
}
}
}
示例2:使用 WPF 应用程序中的 WCF 服务
using System;
using System.ServiceModel;
using System.Windows;
using WpfApp1.ServiceReference1;
namespace WpfApp1
{
public partial class MainWindow : Window
{
private CalculatorServiceClient calculator;
public MainWindow()
{
InitializeComponent();
calculator = new CalculatorServiceClient();
}
private void btnCalculate_Click(object sender, RoutedEventArgs e)
{
try
{
int a = int.Parse(txtA.Text);
int b = int.Parse(txtB.Text);
lblResult.Content = calculator.Add(a, b);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
if (calculator.State == CommunicationState.Opened)
{
calculator.Close();
}
}
}
}
以上就是WCF实现的计算器功能实例的完整攻略,示例代码可供参考。通过本文,您可以了解到如何创建、配置和测试 WCF 服务,并在其他应用程序中消费该服务。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:WCF实现的计算器功能实例 - Python技术站