WCF简单Demo
来源:互联网 发布:挂机浏览广告赚钱源码 编辑:程序博客网 时间:2024/06/07 06:03
WCF,光看书的原理,稍微有点枯燥,通过自己动手,会更容易理解契约声明,面向服务,分布式等概念。
1.创建WCF服务。
2.WcfService1.CS中声明新的契约。
namespace WcfService1
{
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IService1”。
[ServiceContract]
public interface IService1
{
[OperationContract]
string GetData(int value);//声明契约
[OperationContract]
CompositeType GetDataUsingDataContract(CompositeType composite);
// TODO: 在此添加您的服务操作
[OperationContract]
int GetSum(DateTime time);
[OperationContract]
string GetShopInfo(string address);
[OperationContract(IsOneWay=true)]
void onewaytest();
}
// 使用下面示例中说明的数据约定将复合类型添加到服务操作。
[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; }
}
}
}
3.WcfService1.svc.cs中编写相应的方法
public int GetSum(DateTime time)
{
int BreadNum = 10;
int Milk = 5;
int hotdog = 20;
int today = BreadNum + Milk + hotdog;
return today;
}
public string GetShopInfo(string address)
{
if (address == "武汉")
{
return "武汉KFC";
}
else if (address =="上海")
{
return "上海KFC";
}
else if (address == "北京")
{
return "北京KFC";
}
else
{
return "没有该连锁店";
}
}
public void onewaytest()
{
Console.WriteLine("hello world");
}
4.启动服务测试。
5.新建winform窗体和webapplication来测试WCF的跨平台性。
a.分别添加服务引用。
b.编写代码测试
winform
private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
using(
WindowsFormsApplication1.ServiceReference1.Service1Client ser=new WindowsFormsApplication1.ServiceReference1.Service1Client()){
textBox1.Text = ser.GetSum(Convert.ToDateTime(dateTimePicker1.Text)).ToString();
}
}
webapplication
protected void Button1_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(TextBox1.Text))
{
using (WebApplication1.ServiceReference1.Service1Client ser = new WebApplication1.ServiceReference1.Service1Client())
{
TextBox2.Text = ser.GetShopInfo(TextBox1.Text);
}
}
else
{
TextBox2.Text = "无法检索,字符串为空";
}
}
c.最后在解决方案中记得将这三个项目设置为多项目启动。
d.反馈结果:
总结:这是一个简单的demo演示,还有很多复杂的功能,只是通过这么一个简单的demo,确实能够让我们深化理解基础概念,为以后的学习打下基础。
- c#:简单WCF demo
- WCF简单Demo
- WCF入门教程六[一个简单的Demo]
- WCF学习笔记(一)创建一个简单的Demo
- 无废话WCF入门教程六[一个简单的Demo]
- 无废话WCF入门教程六[一个简单的Demo]
- 无废话WCF入门教程六[一个简单的Demo]
- WCF入门教程——一个简单Demo(六)
- 无废话WCF入门教程六[一个简单的Demo]
- 无废话WCF入门教程六[一个简单的Demo]
- 无废话WCF入门教程六[一个简单的Demo]
- WCF学习 Demo
- WCF 入门 Demo
- 简单的Silverlight+MVVM+WCF Ria Service 对数据的增删改查DEMO
- WCF-创建简单的WCF
- Silverlight+wcf+LinqToSql的demo
- WCF的一个小Demo
- 简单Demo
- 【Cassandra】Gossip协议
- 图像基础12 透视投影与透视变换
- 第1116期AI100_机器学习日报(2017-10-08)
- 第1117期AI100_机器学习日报(2017-10-09)
- PuTTY和WinSCP
- WCF简单Demo
- QTableWidget操作之上移,下移,删除
- 如何避免子类继承父类时候改写父类init函数
- 离线计算框架MapRedure
- 微软的常用资源列表[收藏]
- 大咖 | 香港中文大学汤晓鸥教授:人工智能让天下没有难吹的牛!
- <贪心>ZJOI 2008 泡泡堂
- 我发现我的数据被操纵了……
- 一些资料网站