网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月03日漏签0天
c#吧 关注:188,468贴子:823,002
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 4回复贴,共1页
<<返回c#吧
>0< 加载中...

学习笔记===================WCF简单的服务搭建

  • 只看楼主
  • 收藏

  • 回复
  • 呐呐不是奈奈
  • c#攻城狮
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
什么是WCF
是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台。
整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有HTTP和FTP的相关技术。
是Windows平台上开发分布式应用最佳的实践方式。
WCF是.Net框架中的技术,用来创建面向服务的应用程序,交换不同通信方案里的消息,以及执行服务操作生成的工作流。
WCF应用程序由三部分组成 - WCF服务,WCF服务主机和WCF服务客户端。
WCF平台有时也被称为服务模型。 WCF的基本特征是互操作性。
这是微软用于构建面向服务的应用程序的最新技术之一。
根据基于消息的通信的概念中,一个HTTP请求可以被均匀地表示,
WCF是一个统一的API而不管不同的传输机制。
协议:WCF支持多种协议,即HTTP,命名管道,TCP和MSMQ;而Web服务仅支持HTTP协议。
托管机制:WCF托管不同的激活机制,即IIS(Internet信息服务),WAS(Windows激活服务),自托管和Windows服务,而Web服务则只能由IIS托管。
服务:WCF支持一个强大的安全,值得信赖的消息传递,事务性和互操作性,而Web服务只支持保障服务。
序列化:WCF支持DataContract串行采用System.Runtime.Serialization,而Web服务通过使用System.Xml.Serialization支持XML序列化。
工具:ServiceMetadata工具(svcutil.exe)用于客户机生成的WCF服务而WSDL.EXE工具用来产生相同web服务。
异常处理:在WCF中,未处理的异常都是在一个更好的方式通过使用FaultContract处理,并没有得到Web服务SOAP(简单对象访问协议)故障返回给客户端等。
有可能要序列哈希Tablein WCF,但这不能在web服务中。
绑定:WCF支持多种类型,如 basicHttpBinding,WSDualHttpBinding,WSHttpBinding等绑定,而Web服务仅支持SOAP或XML。
多线程:WCF支持多线程利用ServiceBehavIor类,而这Web服务不支持。
双工服务操作:WCF支持双工服务业务除了支持单向和请求 - 响应服务操作,而Web服务不支持双工服务操作。
地址:定义服务的地址
绑定:定义服务的通讯方式(传输协议,编码方法)
契约:定义服务的具体实现
终结点:有地址,绑定和契约共同构成的一个终结点
服务器通过终结点向客户端公开服务客户端通过终结点调用服务
构建WCF服务
namespace WCFDemo
{
[ServiceContract]
public interface Iservice
{
[OperationBehavior]
int Add(int a,int b);
}
public class Service : Iservice
{
public int Add(int a, int b)
{
throw new NotImplementedException();
}
}
}
配置文件
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services><!--(服务名(实现方法名))-->
<service name="WCFDemo.Service" behaviorConfiguration="behaviorConfiguration">
<host>
<baseAddresses><!--(发布地址)-->
<add baseAddress="地址"/>
</baseAddresses>
</host><!--(服务契约)-->
<endpoint address="" binding="basicHttpBinding" contract="WCFDemo.Iservice"></endpoint>
</service>
<!--<service name="WCFDemo.Service" behaviorConfiguration="behaviorConfiguration">
<host>(——多个服务继续加service——)
<baseAddresses>
<add baseAddress="地址"/>
</baseAddresses>
</host>
<endpoint address="" binding="basicHttpBinding" contract="WCFDemo.Iservice"></endpoint>
</service>-->
</services>
<behaviors>
<serviceBehaviors>
<behavior name="behaviorConfiguration">
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
启动服务
using System;
using System.ServiceModel;
namespace WCFDemo
{
class Program
{
static void Main(string[] args)
{
using (ServiceHost service = new ServiceHost(typeof(Service)))
{
service.Open();
Console.ReadKey();
}
}
}
}
测试服务
vs安装目录下有一个wcftestclient.exe的小程序专用于测试wcf服务


青铜星玩家
百度移动游戏玩家均可认证(限百度账号),去领取
活动截止:2100-01-01
去徽章馆》
  • 游鱼向左_
  • c#牛人
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
微软搞了一整套开发流程,但是找工作时感觉用的不是很多


2025-08-03 16:29:52
广告
不感兴趣
开通SVIP免广告
  • 呐呐不是奈奈
  • c#攻城狮
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceModel;
namespace Xfrog.Study.WCF
{
[ServiceContract]
public interface IFirstService
{
[OperationContract]
String GetData(String name);
}
}


青铜星玩家
百度移动游戏玩家均可认证(限百度账号),去领取
活动截止:2100-01-01
去徽章馆》
  • 瘋孖瘋芓瘋杍
  • c#爱好者
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
好久不见你了啊


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 4回复贴,共1页
<<返回c#吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示