سؤال

I have got a MyServiceBase class which inherits from ServiceBase. Inside MyService I Have got a ServiceHost for my WCF-service, whic has only one method with IsOneWay=true property. I used this code to initialize it:

host = new ServiceHost(typeof(MyService));
host.Opened += new EventHandler(host_Opened);
host.Closed += new EventHandler(host_Closed);
host.Faulted += new EventHandler(host_Faulted);
host.UnknownMessageReceived += new EventHandler<UnknownMessageReceivedEventArgs>(host_UnknownMessageReceived);
host.Open();

Sometimes host raises Faulted event, but EventArgs in *host_Faulted* method are always empty, so I cannot find out the reason of it. Please help. Thanks in regard.

هل كانت مفيدة؟

المحلول

This link might prove usefull for better ways of WCF Fault handling and debugging:

How do I prevent a WCF service from enter a faulted state?

So instead of answering your specific question, i am recommending a better way of achieving your requirement.

نصائح أخرى

I met this problem today. By enabling WCF Tracing, it helps, but did not give me the reason. After lots of debugging work, I found the real reason is: Client which consumes WCF services crashed. Since the client is a wrapped Windows Service, and its status is still 'running'.

So my suggestion is: try/catch all the code blocks in your client application.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top