相关疑难解决方法(0)

检测WCF双工合同中的客户端死亡

我正在尝试构建一个SOA,客户端可以在服务器上执行长时间运行的查询,服务器使用回调进行响应.

我希望能够检测客户端是否断开连接(通过用户启动的关闭,未处理的异常或丢失网络连接),以便服务器可以选择取消昂贵的请求.

我正在测试各种故障情况,但我似乎无法启动某些事件处理程序.

经过测试的失败案例:在请求后杀死客户端进程.使用像CurrPorts这样的程序来关闭TCP连接.

测试代码:

using System;
using System.ServiceModel;
using System.Threading;

namespace WCFICommunicationObjectExperiments
{
    class Program
    {
        static void Main(string[] args)
        {
            var binding = new NetTcpBinding(SecurityMode.None);

            var serviceHost = new ServiceHost(typeof (Server));
            serviceHost.AddServiceEndpoint(typeof (IServer), binding, "net.tcp://localhost:5000/Server");
            serviceHost.Open();
            Console.WriteLine("Host is running, press <ENTER> to exit.");
            Console.ReadLine();
        }

    }

    [ServiceContract(CallbackContract = typeof(IClient))]
    public interface IServer
    {
        [OperationContract]
        void StartProcessing(string Query);
    }

    public interface IClient
    {
        [OperationContract]
        void RecieveResults(string Results);
    }

    [ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple)]
    public class Server : IServer
    {

        public void …
Run Code Online (Sandbox Code Playgroud)

c# wcf duplex callback nettcpbinding

31
推荐指数
2
解决办法
3万
查看次数

WCF服务中的CommunicationObjectAbortedException和CommunicationObjectFaultedException

我正在开发一个基于发布者订阅者模式的系统.我有一个在WPF应用程序中运行的WCF服务.有许多客户端连接到该服务.客户端也是WPF.我在下面附上我系统的代码片段:

服务:

[ServiceContract(Namespace = "http://AutoFXProfitsServer", SessionMode = SessionMode.Required, CallbackContract = typeof(ITradeMirrorClientContract))]
    public interface ITradeMirror
    {
        [OperationContract]
        string Subscribe(string userName, string password, int accountID);

        [OperationContract]
        bool Unsubscribe(string userName, string password, int accountID);

        [OperationContract]
        void PublishNewSignal(string signalInformation);
    }

    public interface ITradeMirrorClientContract
    {
        [OperationContract(IsOneWay = true)]
        void NewSignal(string signalInformation);
    }

    public class NewSignalEventArgs : EventArgs
    {
        public string SignalInformation;
    }
.
.
.
.
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession, AutomaticSessionShutdown = false)]
public class TradeMirrorService : DependencyObject, ITradeMirror
{
.
.
.
.

public string …
Run Code Online (Sandbox Code Playgroud)

wpf service wcf exception

7
推荐指数
1
解决办法
9945
查看次数

标签 统计

wcf ×2

c# ×1

callback ×1

duplex ×1

exception ×1

nettcpbinding ×1

service ×1

wpf ×1