对于'MyClass的'的类型初始值引发了异常 [英] The type initializer for 'MyClass' threw an exception
本文介绍了对于'MyClass的'的类型初始值引发了异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
以下是我的Windows服务代码。当我调试的代码中,我得到的错误/异常:
有关'CSMessageUtility.CSDetails'的类型初始值引发了异常。
块引用>
使用系统;
使用System.Collections.Generic;
使用System.ComponentModel;
使用System.Data这;使用System.Diagnostics程序
;
使用System.Linq的;
使用System.ServiceProcess;
使用System.Text;
:使用System.IO;
使用的System.Threading;使用System.Windows
;使用System.Windows.Forms的
;
使用CSMessageUtility;
命名空间CS_Data_Trasmmiting_Service
{
公共部分类svcCSWinServ:ServiceBase
{
//私人字符串sLogFormat;
//私人字符串sErrorTime;
私人螺纹new_thread;
记录仪logObject =新记录仪();
私人布尔isenable = TRUE;
公共svcCSWinServ()
{
的InitializeComponent();
logObject.append(初始化服务+ DateTime.Now.ToString(),70);
CheckForAlarms();
}
保护覆盖无效的OnStart(字串[] args)
{
试
{
new_thread =新主题(新的ThreadStart( CheckForAlarms));
new_thread.Start();
}
抓
{
}
logObject.append(成功启动服务+ DateTime.Now.ToString(),70);
}
保护覆盖无效调用OnStop()
{
试
{
isenable = FALSE;
new_thread.Abort();
}
抓
{
}
logObject.append(服务已停止成功+ DateTime.Now.ToString(),70);
}
无效CheckForAlarms()
{
试
{
,而(真)
{
//if((DateTime.Now.ToString(\"HH:mm)==18:00))
// {
logObject.append(开始发送数据+ DateTime.Now.ToString(),70);
试
{
// SendAllInfo();
字符串str = CSMessageUtility.CSDetails.createDHSMessageFormat();
Thread.sleep代码(2000);
串STR1 = CSMessageUtility.CSDetails.createEALMessageFormat();
Thread.sleep代码(2000);
字符串STR2 = CSMessageUtility.CSDetails.createProductStatusMessageForamt();
Thread.sleep代码(2000);
串STR3 = CSMessageUtility.CSDetails.createEODMessageFormat();
Thread.sleep代码(2000);
串STR4 = CSDetails.createProductReceiptEntryatBOSMessageFormat();
Thread.sleep代码(2000);
STR5串= CSMessageUtility.CSDetails.createProductSaleMessageFormat();
Thread.sleep代码(2000);
串str6 = CSMessageUtility.CSDetails.createTotalizerExceptionMessageFormat();
Thread.sleep代码(2000);
//CSMessageUtility.CSDetails.createDailyCOtransferMessageFormat();
//Thread.Sleep(2000);
}
赶上(例外EE)
{
logObject.append(ee.Message,70);
}
logObject.append(完成数据发送+ DateTime.Now.ToString(),70);
Thread.sleep代码(3000);
//}
//Thread.Sleep(20000);
}
}
赶上(异常前)
{
logObject.append(线程异常:+ ex.Message ++ DateTime.Now.ToString (),70);
试
{
new_thread.Abort();
}
赶上(例外EX1)
{
logObject.append(线程异常:+ ex1.Message ++ DateTime.Now.ToString(),70) ;
}
如果(isenable ==真)
{
new_thread =新主题(新的ThreadStart(CheckForAlarms));
new_thread.Start();
}
}
}
}
}
解决方案检查
TypeInitializationException
的的InnerException
财产;它可能包含有关基本问题的信息,以及它到底哪里发生The following is my Windows service code. When I am debugging the code, I am getting the error/ exception:
The type initializer for 'CSMessageUtility.CSDetails' threw an exception.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Linq; using System.ServiceProcess; using System.Text; using System.IO; using System.Threading; using System.Windows; using System.Windows.Forms; using CSMessageUtility; namespace CS_Data_Trasmmiting_Service { public partial class svcCSWinServ : ServiceBase { //private string sLogFormat; //private string sErrorTime; private Thread new_thread; Logger logObject = new Logger(); private bool isenable = true; public svcCSWinServ() { InitializeComponent(); logObject.append("Initialize Service " + DateTime.Now.ToString(), 70); CheckForAlarms(); } protected override void OnStart(string[] args) { try { new_thread = new Thread(new ThreadStart(CheckForAlarms)); new_thread.Start(); } catch { } logObject.append("Service Started successfully " + DateTime.Now.ToString(), 70); } protected override void OnStop() { try { isenable = false; new_thread.Abort(); } catch { } logObject.append("Service Stopped successfully " + DateTime.Now.ToString(), 70); } void CheckForAlarms() { try { while (true) { //if((DateTime.Now.ToString("HH:mm") == "18:00")) //{ logObject.append("Start Sending Data " +DateTime.Now.ToString(), 70); try { //SendAllInfo(); string str = CSMessageUtility.CSDetails.createDHSMessageFormat(); Thread.Sleep(2000); string str1 = CSMessageUtility.CSDetails.createEALMessageFormat(); Thread.Sleep(2000); string str2 = CSMessageUtility.CSDetails.createProductStatusMessageForamt(); Thread.Sleep(2000); string str3 = CSMessageUtility.CSDetails.createEODMessageFormat(); Thread.Sleep(2000); string str4 = CSDetails.createProductReceiptEntryatBOSMessageFormat(); Thread.Sleep(2000); string str5 = CSMessageUtility.CSDetails.createProductSaleMessageFormat(); Thread.Sleep(2000); string str6 = CSMessageUtility.CSDetails.createTotalizerExceptionMessageFormat(); Thread.Sleep(2000); //CSMessageUtility.CSDetails.createDailyCOtransferMessageFormat(); //Thread.Sleep(2000); } catch (Exception ee) { logObject.append(ee.Message, 70); } logObject.append("Finished Sending Data " +DateTime.Now.ToString(), 70); Thread.Sleep(3000); //} //Thread.Sleep(20000); } } catch (Exception ex) { logObject.append("Thread Exception: "+ ex.Message + " "+ DateTime.Now.ToString(), 70); try { new_thread.Abort(); } catch (Exception ex1) { logObject.append("Thread Exception: " +ex1.Message + " " + DateTime.Now.ToString(), 70); } if (isenable == true) { new_thread = new Thread(new ThreadStart(CheckForAlarms)); new_thread.Start(); } } } } }
解决方案Check the
InnerException
property of theTypeInitializationException
; it is likely to contain information about the underlying problem, and exactly where it occurred.这篇关于对于'MyClass的'的类型初始值引发了异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文