मैं जानना चाहता हूं कि अनचाहे अपवाद डब्ल्यूसीएफ सेवा दुर्घटनाग्रस्त हो जाएगा या नहीं। मैंने निम्न प्रोग्राम लिखा है जो डब्ल्यूसीएफ सेवा द्वारा शुरू किए गए थ्रेड में अनचाहे अपवाद दिखाता है, जो पूरे डब्ल्यूसीएफ सेवा दुर्घटना को बना देगा।अनचाहे अपवाद डब्लूसीएफ सेवा दुर्घटनाग्रस्त कर देगा?
मेरा सवाल यह है कि, मैं पुष्टि करना चाहता हूं कि थ्रेड (डब्ल्यूसीएफ सेवा द्वारा शुरू) में अनचाहे अपवाद डब्ल्यूसीएफ दुर्घटनाग्रस्त हो जाएगा? मेरा भ्रम है मुझे लगता है कि डब्ल्यूसीएफ स्थिर सेवा होनी चाहिए जो अनचाहे अपवाद के कारण दुर्घटनाग्रस्त नहीं होनी चाहिए।
मैं एक स्वयं-होस्टेड विंडोज सेवा आधारित डब्ल्यूसीएफ सेवा विकसित करने के लिए वीएसटीएस 2008 + सी # + .NET 3.5 का उपयोग कर रहा हूं।
यहाँ कोड के संबंधित हिस्से हैं,
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");
}
}
}
आपका उदाहरण "डब्ल्यूसीएफ सेवा द्वारा शुरू किए गए थ्रेड में अनचाहे अपवाद" नहीं दिखाता है, लेकिन "विंडोज सेवा द्वारा शुरू किए गए थ्रेड में अनचाहे अपवाद" दिखाता है। डब्ल्यूसीएफ के साथ इसका कोई लेना-देना नहीं है। –
मैं विंडोज सेवा (मेजबान ओपन()) में डब्ल्यूसीएफ स्वयं होस्ट शुरू करता हूं, जिसका मतलब है कि डब्ल्यूसीएफ सेवा में मेरा अनचाहे अपवाद है। भ्रमित शब्द के लिए खेद है, और मेरे प्रश्न के लिए कोई टिप्पणी या जवाब? – George2