VisualStudio2019使用WCF服务
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VisualStudio2019使⽤WCF服务
什么是WCF
Windows Communication Foundation (WCF) 是⼀个框架,⽤于⽣成⾯向服务的应⽤程序。
它取代了较旧的进程间通信技术,例如 ASMX Web 服务、.NET 远程处理、企业服务 (DCOM) 和 MSMQ。
WCF 将所有这些技术的功能汇集在⼀个统⼀的编程模型下,简化了开发分散式应⽤程序的体验。
使⽤ WCF,可以将数据作为异步消息从⼀个服务终结点发送到另⼀个服务终结点。
服务终结点可以是由 IIS 承载的持续可⽤的服务的⼀部分,也可以是应⽤程序中承载的服务。
终结点可以是从服务终结点请求数据的服务客户端。
简单消息可以是作为 XML 发送的单个字符或单个单词,复杂消息可以是⼆进制数据流。
创建WCF服务
如果发现找不到wcf项⽬,这时你需要去安装Visual Studio 的Windows Communication Foundation组件
1. 创建过程如下
2. 项⽬创建成功后,会⾃动⽣成的⼀些演⽰⽂件
IService1.cs
// 注意: 使⽤“重构”菜单上的“重命名”命令,可以同时更改代码和配置⽂件中的接⼝名“IService1”。
[ServiceContract]
public interface IService1
{
[OperationContract]
string GetData(int value);
[OperationContract]
CompositeType GetDataUsingDataContract(CompositeType composite);
// TODO: 在此添加您的服务操作
}
// 使⽤下⾯⽰例中说明的数据约定将复合类型添加到服务操作。
// 可以将 XSD ⽂件添加到项⽬中。
在⽣成项⽬后,可以通过命名空间“WcfServiceDemo.ContractType”直接使⽤其中定义的数据类型。
[DataContract]
public class CompositeType
{
bool boolValue = true;
string stringValue = "Hello ";
[DataMember]
public bool BoolValue
{
get { return boolValue; }
set { boolValue = value; }
}
[DataMember]
public string StringValue
{
get { return stringValue; }
set { stringValue = value; }
}
}
View Code
Service.cs
// 注意: 使⽤“重构”菜单上的“重命名”命令,可以同时更改代码和配置⽂件中的类名“Service1”。
public class Service1 : IService1
{
public string GetData(int value)
{
return string.Format("You entered: {0}", value);
}
public CompositeType GetDataUsingDataContract(CompositeType composite)
{
if (composite == null)
{
throw new ArgumentNullException("composite");
}
if (composite.BoolValue)
{
composite.StringValue += "Suffix";
}
return composite;
}
}
View Code
标注解释
测试服务
按 F5 运⾏该服务。
WCF 测试客户端窗体随即出现并加载服务。
在“WCF 测试客户端”窗体中,双击 IService1 下的 GetData() ⽅法。
此时会显⽰ "⼯作" 选项卡。
在“请求”框中,选择“值”字段,并键⼊ 1314。