Tag: wcf

如何使用WCF(net.tcp)服务使用基于套接字的客户端?

我开发了一个使用net.tcp适配器并监听特定端口的WCF服务。 我想使用普通的.net客户端连接到该服务,该客户端使用套接字将数据发送到端口并侦听响应。 当我尝试将数据发送到此服务时,出现错误:“现有连接被远程主机强行closures”。 但是,我能够通过使用WCF服务的地址/绑定/合同的另一个客户端连接服务。 有没有一种方法可以使我通过一个普通的基于套接字的客户端与WCF服务进行通信?

我需要采取什么步骤来使用WCFcallback?

我正在学习WCF。 我有一个简单的客户端和服务器应用程序设置,并按下客户端上的button,它从服务器获取更新的值。 我的下一步是我试图做一个callback从服务器到客户端来更新它的价值。 我经历了很多例子,他们看起来太大而且混乱。 有没有人能给我在C#中最简单的实现例子? 我一直在网上查看例子,我只是不明白它是什么? 当然,我可以一行一行地复制这个例子,但是这样做对我来说并不好,因为如果我想在自己的代码中执行这个操作,我仍然不会执行什么操作。 有人可以帮助我一个非常简单的例子,我需要采取什么步骤,我需要做的服务器代码,然后在客户端代码,使这种情况发生? 谢谢

WCF错误:在此工厂启用手动寻址,因此所有发送的消息都必须预先寻址

我有一个托pipeWCF服务,我创build了一个自定义工厂,以便这可以与多个主机标头一起使用: /// <summary> /// Required for hosting where multiple host headers are present /// </summary> public class MultipleHostServiceFactory : ServiceHostFactory { protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses) { List<Uri> addresses = new List<Uri>(); addresses.Add(baseAddresses[0]); return base.CreateServiceHost(serviceType, addresses.ToArray()); } } 我很确定我的configuration文件现在是正确的,在客户端和服务器( 可以在这里看到 )。 我得到的错误似乎与工厂有关: 手动寻址在此工厂启用,所有发送的邮件必须预先寻址。 public string GetData(int value) { return base.Channel.GetData(value); } 错误发生在线return base.Channel.GetData(value); […]

大型WCF服务的最佳做法?

写一个相当大的wcf服务的最佳做法是什么?包含大量的OperationContracts和DataContracts? 如何将function区域分成几个合同,最好是为每个function区域创build一个端点? 有什么办法可以保持不同部分的来源,但仍然只使用一个服务的所有这些? 我在哪里可以得到好的信息,如何计划合同,包括什么,如何分割……?

什么是testingWCF服务的最好方法?

我已经使用了微软随Visual Studio一起发布的工具,因为它很快速而且很脏 http://msdn.microsoft.com/en-us/library/bb552364.aspx 但它有点笨重,很难合作。 有没有其他有用的testing客户端,你使用,不需要创build一个新的Visual Studio项目和编译代码? 编辑:我正在寻找更多的graphicstesting工具,我可以用它来做不同的环境中的系统快速临时testing,而不必写一堆不同的testing。

HTTP方法GET,POST,PUT和DELETE有什么区别

我正在开发REST WCF服务和理论上我知道什么时候select什么目的。 GET获取资源 请更新 POST到插入 DELETE删除 但是,如果我们不遵循上述规则,假设插入一条logging,我使用了GET方法,那又有什么缺点呢?

app.config中的ClientSettingsProvider.ServiceUri的用途

什么 <appSettings> <add key="ClientSettingsProvider.ServiceUri" value=""/> </appSettings> 做? 由于该值为空string,我可以删除该元素吗?

basicHttpBinding vs wsHttpBinding

在WCF端点中,basicHttpBinding和wsHttpBinding有什么不同? 什么时候应该使用?

如何在WCF客户端服务代理上设置HTTP代理(WebProxy)?

我如何在不使用默认代理的情况下在WCF客户端上以编程方式设置HTTP代理? 代理,代理,代理。 根据开发的WCF模型,我通过在服务的WSDL上运行svcutil.exe生成客户端“代理”类。 (这也产生一个客户端configuration文件)。 在我的代码中,我新build了一个该类的实例,并且可以连接到该服务。 非常好。 var svcProxy = new MyWebService(); svcProxy.GetInformation(request); 我们把这个东西叫做代理类,但是还有另一个代理 – http代理。 这个服务使用wsHttpBinding basicHttpBinding,所以它是通过HTTP。 现在,假设我想通过http代理(通过.NET BCL中的System.Net.WebProxybuild模)将客户端连接到Web服务。 我从阅读.NET和WCF文档的丰富经验中知道,WCF运行时(如果没有指示的话)将在通过http / https进行通信时使用默认的系统代理。 我可以在WinXP / 2003的命令行中使用ProxyCfg.exe来设置, 如下所述 ,在Windows的更高版本中使用netsh.exe 。 我还可以通过设置System.Net.WebRequest.DefaultWebProxy属性来指定在应用程序中使用的默认Web代理。 但是,假设我想通过与系统级代理不同的代理进行连接? 例如,也许没有全系统的代理,但我特别需要使用一个用于Web服务。 或者,也许有一个系统范围的代理,但我需要使用一个不同的Web服务。 事实上,也许有多个Web服务客户端,每个客户端应该得到不同的代理。 如何设置代理每个绑定? 在ASMX模型中,我可以这样做: var svcProxy = new MyWebService(); svcProxy.Proxy = new System.Net.WebProxy("http://proxyserver:1234", true); svcProxy.GetInformation(request); 但是这对于WCF是不可能的。 WCF生成的客户端代理类不公开Proxy属性。 如何设置http代理,每个客户端代理,以及如何在http代理上设置身份validation? 有关: – 如何设置代理凭证与生成wcf客户端

在WCFcaching?

我正在构build一个WCF服务。 我需要将参考数据存储在caching中,每当我从方法接收input时,我都会查找参考数据。什么是正确的方法来做到这一点? 我还想定义caching的过期策略,在一定的时间间隔后将使其无效。