Tag: nettcpbinding

如何在Windows Universal App中使用双工wcf服务

如何在Windows通用应用程序中使用双工合约使用wcf服务? 我正在使用PlatformNotSupportedExcetpion: Operation is not supported on this platform. 尝试在Windows Universal App中使用双面wcf服务时出现运行时exception,目标是Windows 10(10.0; Build 10240) 根据msdn,它支持API。 如果不可能,我应该如何进行我的方案? 我有两个应用程序(控制台和Windows通用xaml应用程序)在同一台机器上运行,我需要双向通信。 我有创建服务主机的clasic .net 4.6控制台应用程序: var host = new ServiceHost(typeof(MyService), new Uri(“net.tcp://localhost:8008/MyService”)); var binding = new NetTcpBinding(); //I’ve also tried net http binding binding.Security.Mode = SecurityMode.None; host.Description.Behaviors.Add(new ServiceMetadataBehavior()); host.AddServiceEndpoint(ServiceMetadataBehavior.MexContractName, MetadataExchangeBindings.CreateMexTcpBinding(), “mex”); host.AddServiceEndpoint(typeof(IMyService), binding, “”); host.Open(); 服务合约: [ServiceContract(CallbackContract = typeof(IMyServiceCallback))] […]

WCF – 在nettcpbinding中禁用安全性(c#)

我正在尝试创建一个使用nettcpbinding的自托管WCF应用程序,但在没有域的环境中工作。 它只是两个常规的Windows PC,一个是服务器,另一个是客户端。 这个问题是,当我尝试让客户端连接它时,由于安全设置而被拒绝。 你能否指出我如何使这个场景发挥作用的正确方向? 我应该(如果可能)禁用安全性吗? 有另一种(希望很简单)的方法来实现这一目标吗? 问候, 丹尼尔

WCF应用程序 – 需要http和tcp绑定的“app start”代码

我有一个WCF应用程序,需要一些应用程序初始化代码在应用程序启动时触发。 目前代码位于global.asax.cs中的Application_Start方法中: protected void Application_Start(object sender, EventArgs e) { // Whatever.. } 但是,我的WCF应用程序同时具有http(asp.net)和TCP(netTcpBinding)端点,具体取决于所调用的服务。 此代码仅针对普通的http端点而不是TCP触发。 无论是通过tcp还是http进行客户端调用,我都需要启动应用程序启动代码。 最好的方法是什么? 谢谢

无法在Fiddler中显示netTcpBinding请求

我有一个有两个端点的WCF服务。 一个使用basicHttpBinding,另一个使用netTcpBinding。 这是我的配置…… 但是,当我使用该服务时,我试图比较两个请求之间的差异。 所以我正在运行小提琴手来做这件事。 我可以在Fiddler中看到basicHttpBinding请求,但我无法显示net.tcp://请求。 我该怎么做才能看到这种流量?

是否有可能使用数千个长时间运行的TCP连接创建可伸缩的WCF服务?

我正在尝试创建一个WCF服务,其中数千(~10,000)个客户端可以通过双工NetTcpBinding连接很长一段时间(几周,也许几个月)。 经过一些阅读后,看起来在IIS中托管比自定义应用程序或Windows服务更好。 使用WCF这样的服务是否可以接受,甚至可能? 如果是这样,我可以在哪里遇到限制或性能问题,例如增加WCF ListenBacklog和MaxConcurrentConnections? 谢谢!

使用NetTcpBinding进行双工通信 – ContractFilter不匹配?

我正在使用NetTcpBinding在客户端和服务器之间打开双工通信通道方面取得缓慢而稳定的进展。 (仅供参考,你可以在这里和这里观察我的新手进展!) 我现在处于通过服务器防火墙成功连接到服务器的阶段,客户端可以向服务器发出请求。 然而,在另一个方向,事情并不那么幸福。 它在我自己的机器上测试时工作正常,但是当通过互联网进行测试时,当我尝试从服务器端发起回调时,我收到一个错误: The message with Action ‘http://MyWebService/IWebService/HelloWorld’ cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have […]

从客户端通过WCF取消长时间运行的任务

我有一个设置为PerCall的WCF服务 我想知道如何从客户端发送一个Start调用以启动一个长时间运行的进程,并发送一个Cancel命令来取消它 我的WCF服务看起来像这样 [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)] public class Service1 : IService1 { CancellationTokenSource cancelToken = new CancellationTokenSource(); public void Start() { var compute = Task.Factory.StartNew(StartLongRunningTask, cancelToken.Token); } public void Stop() { cancelToken.Cancel(); } private void StartLongRunningTask() { //process here } } 我想这里的问题是,每次呼叫到达服务器时,都会将其视为新请求。 那么如何在WCF中启动和取消长时间运行的任务呢? 编辑:我将它作为Windows服务托管

Net TCP绑定:无法识别URI前缀

这真的让我困扰了几个小时。 我使用TCP绑定创建了最简单的WCF服务。 namespace WcfTcpService { public class TestTcpService : ITestTcpService { public string Hello(string name) { return “Hello, ” + name + “!”; } } } namespace WcfTcpService { [ServiceContract] public interface ITestTcpService { [OperationContract] string Hello(string name); } } Web.config文件包含以下部分: <!– –> <!—-> 此服务托管在IIS中: 现在,当尝试从客户端应用程序添加对net.tcp://localhost:808/WcfTcpService.TestTcpService的引用时,我一直收到错误: The URI prefix is not recognized. Metadata contains a […]

如何正确关闭客户端代理(远程主机强行关闭现有连接)?

在你将问题读到最后之前,请不要关闭。 我已经谷歌搜索了几个小时没有成功。 编辑:现在我确信它与WCF缓存打开TCP连接(连接池)的方式有关。 请在问题结尾处查看编辑#5。 我基本上有一个使用netTcpBinding配置的WCF服务。 即使我正常关闭客户端代理(请参阅下面的代码),服务器始终记录“ System.Net.Sockets.SocketException (0x80004005): An existing connection was forcibly closed by the remote host ”。 我已经将问题缩小到我能写的最基本的WCF示例。 我每次关闭客户端应用程序时都会在WCF跟踪生成的日志中获得exception。 我在自己的代码中没有得到任何exception,这意味着它按预期工作,我无法调试任何东西,看看WCF在我的日志中添加错误出了什么问题。 服务接口/实现: [ServiceContract] public interface IService1 { [OperationContract] string DoWork(); } … public class Service1 : IService1 { public string DoWork() { return “12”; } } 服务器端配置: 客户端配置: 使用该服务的客户端代码(VS2012使用“添加服务引用”为我生成了客户端代理): private async Task TestTask() { […]

WCF TCP的速度比HTTP快多少

我知道TCP对于WCF比HTTP更快,但我很想知道多少。 我对使用HTTP的大型应用程序存在性能问题,并且正在考虑转向netTcp是否会产生足够的性能提升以使投资变得有价值。 有谁知道netTCP发送的数据与Http绑定相比有何不同?