好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

WCF学习111

WCF学习111

WCF的基础ABC和Endpoint,对于常见的场景如果这么多的组合显然也很复杂,实际的应用中根据具体的场景选择对应的方式
图书”Programming WCF Services”(WCF服务编程) 对这个组合进行了详细的总结,如下:
【对于WCF的基础知识可以参阅图书或其他资料】 

绑定和安全场景

绑定

局域网场景

互联网

B2B 场景

匿名场景

无安全场景

BasicHttpBinding

No

No

Yes

No

Yes

NetTcpBinding

Yes

Yes

No

Yes

Yes

NetPeerTcpBinding

No

No

No

No

Yes

NetNamedPipeBinding

Yes

No

No

No

Yes

WSHttpBinding

No

Yes

Yes

Yes

Yes

WSFederationHttpBinding

No

No

No

No

 

WSDualHttpBinding

No

Yes

Yes

Yes

Yes

NetMsmqBinding

Yes

No

No

Yes

Yes

安全场景特性

特性

局域网场景

互联网

B2B 场景

匿名场景

无安全场景

Transport

Yes

No

No 

No

No

Message

No 

Yes

Yes

Yes

No

Service authentication

Windows

Ceritificate

Ceritificate

Ceritificate

No

Client authentication

Windows 

ASP.NET

Ceritificate

No

No

Authorization

Windows

ASP.NET

No/ASP.NET

No

No

Impersonation

Yes

No

No

No

No

 

 

实现参考

该书描述了一个基于声明的框架类库,使用这个库可以方便的建立以上不用场景的应用,基于这个我实现了一个demo的演示,通过这个过程对WCF有了比较深入的了解,对于小组人员的入门和快速使用比较有用。

demo下载地址:  http://cid-56b433ad3d1871e3.office.live.com/self.aspx/.Public/ProgWCF.rar  

详细运行参考代码中的Readme.txt 和注释

Intranet

Transport保护

使用tcp绑定

windows集成的安全

Internet

只能使用Message形式的保护,需要数字证书

tcp wsHttp绑定

使用Membership进行安全认证

Anoymous

使用Message形式的保护,需要数字证书

tcp wsHttp绑定

None

消息不保护

http tcp wsHttp绑定

B2b

BasicHttpBinding WSHttpBinding WSDualHttpBinding

参考:Programming WCF Services [ISBN: 978-0-596-80548-7]

对WCF的使用进行分类的介绍,实际开发完成涉及到部署的问题,根据如下的资料参考实际情况选择部署方式

部署方式:自承载、IIS承载和Appfabric承载

IIS服务承载

使用svc扩展实现,如下配置

<add path="*.svc"

verb="*"

type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

validate="false" />

</httpHandlers>

如何使IIS能够承载net.tcp等其他协议

两步配置:

网站绑定加上net.tcp

支持的协议增加net.tcp

然后添加的svc服务自动就支持了http和net.tcp绑定

手动设置无svc文件的服务

<serviceHostingEnvironment multipleSiteBindingsEnabled="true"> 
<serviceActivations> 
<!--无svc的服务,须在IIS中net.tcp协议才能启用--> 
<add relativeAddress="demo.svc" service="WCfSvc.DemoWcf" /> 
</serviceActivations > 
</serviceHostingEnvironment> 
  <services> 
<service name="WCfSvc.DemoWcf"> 
<!--多个终结点的不同协议支持--> 
<endpoint address="ws" binding="wsHttpBinding" name="http" contract="Contracts.ICarRentalService"/> 
<endpoint binding="basicHttpBinding" name="http" contract="Contracts.ICarRentalService"/> 
<endpoint binding="netTcpBinding" name="tcp" contract="Contracts.ICarRentalService"/> 
</service> 
</services> 
<behaviors> 
<serviceBehaviors> 
<behavior> 
<serviceMetadata httpGetEnabled="true"/> 
</behavior> 
</serviceBehaviors> 
</behaviors

Hosting的选择

根据以上的表选择适合的部署方式即可

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于WCF学习111的详细内容...

  阅读:37次

上一篇: android 环境的搭建

下一篇:C# 匿名函数

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://www.haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网
[ SiteMap ]