未処理の例外によってWCFサービスがクラッシュするかどうかを知りたい。私はWCFサービスによって開始されたスレッドで未処理の例外がWCFサービス全体をクラッシュさせることを示す次のプログラムを書いています。未処理の例外により、WCFサービスがクラッシュすることがありますか?
私の質問は、(WCFサービスによって開始された)スレッドの未処理の例外がWCFをクラッシュさせるかどうかを確認したいのですが?私の混乱は、WCFが処理されない例外のためにクラッシュすべきでない安定したサービスであるべきだと私は思う。
私は、VSTS 2008 + C#+ .Net 3.5を使用して、WCFサービスに基づく自己ホストWindowsサービスを開発しています。ここ
は
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");
}
}
}
この例では、「WCFサービスによって開始されたスレッドで未処理の例外」が表示されていませんが、「Windowsサービスによって開始されたスレッドで未処理の例外」が表示されます。それはWCFとは関係ありません。 –
Windowsサービス(host.Open())でWCF自己ホストを開始します.WCFサービスで処理されない例外が発生しています。混乱を招く言葉や、私の質問に対するコメントや答えをお詫び申し上げます。 – George2