unbehandelte Ausnahme machen WCF-Dienst zum Absturz bringt?

Möchte ich wissen, ob nicht behandelte Ausnahme machen WCF-Dienst Abstürzen. Ich habe geschrieben das folgende Programm zeigt die unbehandelte Ausnahme in einem thread gestartet, der von der WCF-service wird die gesamte WCF-Dienst Abstürzen.

Meine Frage ist, ich möchte, um zu bestätigen, ob unbehandelte Ausnahme in threads (angefangen von der WCF-service) machen WCF-crash? Meine Verwirrung ist denke ich, WCF sollte stabil sein Dienst sollte nicht Abstürzen, weil der nicht behandelte Ausnahme.

Ich bin mit VSTS 2008 + C# + .Net 3.5 zu entwickeln, die eine selbst-gehostete Windows-Service-basierte WCF-Dienst.

Hier sind die zugehörigen Teile des Codes,

namespace Foo
{
    //NOTE: If you change the interface name "IService1" here, you must also update the reference to "IService1" in Web.config.
    [ServiceContract]
    public interface IFoo
    {
        [OperationContract]
        string Submit(string request);
    }
}

namespace Foo
{
    //NOTE: If you change the class name "Service1" here, you must also update the reference to "Service1" in Web.config and in the associated .svc file.
    public class FooImpl : IFoo
    {
        public string Submit(string request)
        {
            return String.Empty;
        }
    }
}

namespace Foo
{
    public partial class Service1 : ServiceBase
    {
        public Service1()
        {
            InitializeComponent();
        }

        ServiceHost host = new ServiceHost(typeof(FooImpl));

        protected override void OnStart(string[] args)
        {
            host.Open();
            //start a thread which will throw unhandled exception
            Thread t = new Thread(Workerjob);
            t.Start();
        }

        protected override void OnStop()
        {
            host.Close();
        }

        public static void Workerjob()
        {
            Thread.Sleep(5000);
            throw new Exception("unhandled");
        }
    }
}
  • Ihr Beispiel zeigt nicht "unbehandelte Ausnahme in einem thread gestartet, der von der WCF-Dienst", aber "unbehandelte Ausnahme in einem thread gestartet Windows-Dienst". Es hat nichts zu tun mit WCF.
  • Ich beginne WCF-self-host in Windows-Dienst hosten.Open()), die ich meine unbehandelte Ausnahme in der WCF-service. Sorry für die verwirrende Bezeichnung, und keine Kommentare oder Antworten auf meine Frage?
InformationsquelleAutor George2 | 2009-07-16
Schreibe einen Kommentar