wcf

WCF学习笔记(3)——PollingDuplex双向通讯

落爺英雄遲暮 提交于 2020-03-17 06:49:51
本文将建立一个silverlight与wcf双向通讯的简单实例,以下是详细步骤:   新建Silverlight应用程序,名称WCFtest。解决方案中添加WCF服务应用程序,名称WcfServiceTest,WCF服务将不再寄宿在Web中。   删除VS自动生成的IService1.cs和Service1.svc文件,修改WCF服务固定端口12345。   在WCF服务应用程序WcfServiceTest上,添加应用,选择浏览定位到 C:\Program Files\Microsoft SDKs\Silverlight\v4.0\Libraries\Server\System.ServiceModel.PollingDuplex.dll,PollingDuplex是一种扩展的双工轮询通讯方法,在安装的Silverlight SDK中可以找到。     添加一个WCF服务,名称ServiceTest。 修改WCF服务应用程序WcfServiceTest的Web.config文件。 <?xml version="1.0" encoding="utf-8"?><configuration> <system.web> <compilation debug="true" targetFramework="4.0" /> </system.web> <system.serviceModel>

化零为整WCF(3) - 绑定Binding(basicHttpBinding和netTcpBinding)

柔情痞子 提交于 2020-03-17 06:48:22
[索引页] [源码下载] 化零为整WCF(3) - 绑定Binding(basicHttpBinding和netTcpBinding) 作者: webabcd 介绍 WCF(Windows Communication Foundation) - 绑定Binding:Http以basicHttpBinding为例,Tcp以netTcpBinding为例。 示例 1、服务 IHello.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ServiceModel; namespace WCF.ServiceLib.Binding { /**/ /// <summary> /// IHello接口 /// </summary> [ServiceContract] public interface IHello { /**/ /// <summary> /// 打招呼方法 /// </summary> /// <param name="name"> 人名 </param> /// <returns></returns> [OperationContract] string SayHello( string name); } } Hello

How to inject dependencies in WCF when the Composition Root is on the client

孤街浪徒 提交于 2020-03-16 06:33:10
问题 Before I start I must say that I maybe biting more than I can chew but I am in a desperate learning rampage and I need a lot of help. I am coding an exercise taking the samples from two books: 1. Dependency Injection in .Net by Mark Seemann 2. Professional ASP .Net Design Patterns by Brian Egan and Steve Valenzuela The exercise is implementing the Request/Response messaging pattern using WCF as the service layer AND using Dependency Injection from a Composition Root in the client application.

How to inject dependencies in WCF when the Composition Root is on the client

喜夏-厌秋 提交于 2020-03-16 06:32:08
问题 Before I start I must say that I maybe biting more than I can chew but I am in a desperate learning rampage and I need a lot of help. I am coding an exercise taking the samples from two books: 1. Dependency Injection in .Net by Mark Seemann 2. Professional ASP .Net Design Patterns by Brian Egan and Steve Valenzuela The exercise is implementing the Request/Response messaging pattern using WCF as the service layer AND using Dependency Injection from a Composition Root in the client application.

.Net vs .Net Core,我改如何选择?看这一篇文章就够了

≡放荡痞女 提交于 2020-03-10 11:26:44
前言 .Net目前支持构建服务器端应用程序的两种实现主要有两种,.NET Framework和.NET Core。两者共享许多相同的组件,并且您可以在两者之间共享代码。但是,两者之间存在根本差异,在我们选择使用哪种框架构建应用时,您的选择取决于您要完成的工作,以下说明两种框架的应用场景,希望能够帮助您做出最正确的选择。 在以下情况下,将.NET Core用于服务器应用程序: 您有跨平台的需求。 您正在针对微服务。 您正在使用Docker容器。 您需要高性能和可扩展的系统。 每个应用程序需要并行的.NET版本。 在以下情况下,将.NET Framework用于服务器应用程序: 您的应用当前使用.NET Framework(建议扩展而不是迁移)。 您的应用程序使用了.NET Core不可用的第三方.NET库或NuGet软件包。 您的应用使用了.NET Core无法使用的.NET技术。 您的应用使用的平台不支持.NET Core。 Windows,macOS和Linux支持.NET Core。 何时选择.NET Core 以下各节对前面所述选择.NET Core的原因进行了更详细的说明。 跨平台需求 如果您的应用程序(Web /服务)需要在多个平台(Windows,Linux和macOS)上运行,请使用.NET Core。 .NET Core支持将前面提到的操作系统作为您的开发工作站。

.Net vs .Net Core,我改如何选择?看这一篇文章就够了

非 Y 不嫁゛ 提交于 2020-03-10 11:14:43
前言 .Net目前支持构建服务器端应用程序的两种实现主要有两种,.NET Framework和.NET Core。两者共享许多相同的组件,并且您可以在两者之间共享代码。但是,两者之间存在根本差异,在我们选择使用哪种框架构建应用时,您的选择取决于您要完成的工作,以下说明两种框架的应用场景,希望能够帮助您做出最正确的选择。 在以下情况下,将.NET Core用于服务器应用程序: 您有跨平台的需求。 您正在针对微服务。 您正在使用Docker容器。 您需要高性能和可扩展的系统。 每个应用程序需要并行的.NET版本。 在以下情况下,将.NET Framework用于服务器应用程序: 您的应用当前使用.NET Framework(建议扩展而不是迁移)。 您的应用程序使用了.NET Core不可用的第三方.NET库或NuGet软件包。 您的应用使用了.NET Core无法使用的.NET技术。 您的应用使用的平台不支持.NET Core。 Windows,macOS和Linux支持.NET Core。 何时选择.NET Core 以下各节对前面所述选择.NET Core的原因进行了更详细的说明。 跨平台需求 如果您的应用程序(Web /服务)需要在多个平台(Windows,Linux和macOS)上运行,请使用.NET Core。 .NET Core支持将前面提到的操作系统作为您的开发工作站。

添加web引用和添加服务引用有什么区别?

大兔子大兔子 提交于 2020-03-09 14:15:56
添加web引用和添加服务引用有什么区别, Add Service References 和 Add Web References 有啥区别? 参考 http://social.microsoft.com/Forums/zh-CN/xmlwebserviceszhchs/thread/808d870b-49f1-47ac-b105-4beb580bcec6 (1)VS2005里提供的Add Web Reference(添加Web服务引用)的功能主要是添加Web Service引用。 (2)VS2008保留了Add Web Reference(添加Web服务引用)也是为了版本向前兼容。目前很多项目还是基于.NET Framework 2.0。 (3)VS2008在升级以后为了对.NET Framework 3.0 或 3.5版本上WCF Service Library的支持。增加了Add Service Reference(添加服务引用)功能。Framework3.0 或 3.5 时可用。 你说的情况我自己做了一下试验,同时存在Add Service Reference、Add Web Reference 两者情况的项目类型是Web服务程序。包括Web Service项目。普通的控制台等类型是没有Add Web Reference 。 我仔细对比了两种方式添加同一个

WCF:2个常见错误

两盒软妹~` 提交于 2020-03-07 22:04:51
1.另一应用程序已使用 HTTP.SYS 注册了该 URL 在做WCF wsDualHttpBinding的时候,调试时会出现此异常。 其意思为:有一个Host已经启动了,占用了指定的端口了。 < add baseAddress = " http://localhost:8733/imcebay/connector/ " /> 只要保证启动一个Host,就不会出现这样的提示了! 2.没有终结点在侦听可以接受消息的 连接不上服务器:没有终结点在侦听可以接受消息的 http://localhost:8733/imcebay/connector/ .这通常是由于不正确的地址或者 SOAP 操作导致的。如果存在此情况,请参见 InnerEXception 以了解详细信息. 这个表示服务没有被Host,或者终结点地址配置不正确! 来源: https://www.cnblogs.com/pengzhen/p/4522731.html

IIS部署WCF

房东的猫 提交于 2020-03-07 22:04:32
1 部署IIS 1.1 安装WAS IIS原本是不支持非HTTP协议的服务,为了让IIS支持net.tcp,必须先安装WAS(Windows Process Activation Service),即windows进程激活服务。 打开控制面板--程序和功能--打开或关闭windows功能,安装WAS,如图: 安装完毕后在Services窗口中可以到到如下服务:Windows Process Activation Service;Net.Msmq Listener Adapter;Net.Pipe Listener Adapter;Net.Tcp Listener Adapter;Net.Tcp Port Sharing Service.这几个服务。确定 Net.Tcp Listener Adapter 与Net.Tcp Port Sharing Service是否已经启动。 1.2 确定WCF是否启用Non-Http支持 同样是在控件面板中打开这个功能,如图: 1.3 给站点添加net.tcp绑定 在IIS中,选中你的网站,然后在右边的操作菜单栏中单击绑定,会弹出一个“网站绑定”窗口,点击添加,类型选择net.tcp 1.4 启用net.tcp协议 选择你的网站,点击“高级设置”,弹出的的窗体中,在“已启用的协议”一栏中手动添加:net.tcp 2 测试服务 2.1 新建服务

WCF终结点——终结点地址(EndpointAddress)

旧时模样 提交于 2020-03-07 22:02:54
终结点的地址的Uri属性作为终结点地址的唯一标示。 包括 客户端终结点 和 服务端终结点。 一、服务端终结点: 服务端的终结点通过宿主的添加方法暴露出来,从而成为可以调用的资源。 下面是将服务绑定到宿主的代码: 定义宿主 时使用的是契约的实现类,也即 服务类 , 添加 终结点到宿主的使用的是 契约接口 。 1.1代码实现 代码实现往 指定服务的宿主 上添加终结点: 1.2配置实现 下面通过配置实现: 代码实现对应的配置如下: 1.3svc文件的配置 下面也给出svc文件中的配置: 由于svc文件被部署到了IIS上,所以对应的有端口,本身svc是一个文件,对应的也有路径,所以配置不用使用address字段 1.4获取宿主上的终结点 可以向一个宿主身上添加多个服务终结点,所以一个服务可以有多个 终结点 。每一个服务对应着一个宿主。当然可以获取所有的终结点。 宿主有个关于服务的描述属性,该属性包括了宿主的承载的所有服务终结点 1.5使用基地址+相对地址类添加契约终结点 当终结点比较多时,并且前面的部分相同时,可以通过基地址+相对地址类来添加终结点到宿主上面。 宿主这时也会根据使用的Binding类型的不同来区分请求的终结点。注意上面的一个是NetTcpBinding,一个是BasicHttpBinding。 这就要求同一种绑定类型的基地址只能有一种 ,要不然会弄乱的。 下面是配置方式