Tôi muốn biết liệu ngoại lệ unhandled sẽ làm cho vụ tai nạn dịch vụ WCF. Tôi đã viết chương trình sau đây cho thấy ngoại lệ unhandled trong một chủ đề bắt đầu bởi dịch vụ WCF sẽ làm cho toàn bộ vụ tai nạn WCF.ngoại lệ không được giải quyết sẽ khiến dịch vụ WCF bị lỗi?
Câu hỏi của tôi là, tôi muốn xác nhận xem có ngoại lệ không được đề cập trong các chủ đề (bắt đầu bằng dịch vụ WCF) sẽ khiến WCF gặp sự cố không? Sự nhầm lẫn của tôi là tôi nghĩ WCF nên được ổn định dịch vụ mà không nên sụp đổ vì ngoại lệ unhandled.
Tôi đang sử dụng VSTS 2008 + C# + .Net 3.5 để phát triển dịch vụ WCF dựa trên dịch vụ Windows tự lưu trữ.
Sau đây là các bộ phận liên quan của mã,
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");
}
}
}
Ví dụ của bạn không hiển thị "ngoại lệ unhandled trong một chủ đề bắt đầu bởi dịch vụ WCF" nhưng "ngoại lệ unhandled trong một chủ đề bắt đầu bởi dịch vụ Windows". Nó không liên quan gì đến WCF. –
Tôi bắt đầu WCF tự lưu trữ trong Windows Service (host.Open()), mà tôi có nghĩa là unhandled ngoại lệ trong dịch vụ WCF. Xin lỗi vì cụm từ khó hiểu và bất kỳ nhận xét hoặc câu trả lời nào cho câu hỏi của tôi? – George2