Я новичок в мире C #, потому что из-за моего единственного проекта мне нужно создать одну службу Windows, где я должен вызвать веб-службу, выполнить некоторые операции и создать для нее журнал.Во-первых, я создал приложение для Windows и запустил приложение, и оно работало, но то же самое, когда я пытаюсь сделать это в Windows Service (C #). Служба запускается, но перестает работать, выдавая ошибку:
Служба не может быть запущена.System.ServiceModel.FaultException`1 [System.ServiceModel.ExceptionDetail]: ссылка на объект не установлена для экземпляра объекта.(Сведения об ошибке совпадают с ExceptionDetail, скорее всего, созданным с помощью IncludeExceptionDetailInFaults = true, значение которого: System.NullReferenceException: ссылка на объект не установлена на экземпляр объекта.) в FMIWebService.FMInteractWebService.GetData (RequestInfo reqInfo) в SyncInvokeGetData (Object, Object [], Object []) в System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke (входные данные объекта, выходы объекта [], объект в &)System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin (MessageRpc & rpc) в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5 (MessageRpc & rpc) в System.ServiceModel.DistimeService.MessSerp.RecRecRecRec
Мой файл service.cs:
protected override void OnStart(string[] args)
{
//Write Logs
WriteToFile("Service is started at " + DateTime.Now);
doWork();
timer.Elapsed += new ElapsedEventHandler(OnElapsedTime);
timer.Interval = 10000;
timer.Enabled = true;
}
public void doWork() {
FMsystemcall obj = new FMsystemcall();
DataSet tickets = obj.FMAPICall("FM_SP_DOVEVIVO_TICKET_PULL","","FALSE","REQNO");
for (int i = 0; i < tickets.Tables[0].Columns.Count - 35; i++)
{
string reqno = tickets.Tables[0].Rows[i]["REQNO"].ToString();
DataSet isss = obj.FMAPICall("FM_SP_DOVEVIVO_TICKET_PULL", reqno, "TRUE");
WriteToFile("IDFM:-" + isss.Tables[0].Rows[0]["IDFM"].ToString());
WriteToFile("STATUS:-" + isss.Tables[0].Rows[0]["Status"].ToString());
WriteToFile("MESSAGE:-" + isss.Tables[0].Rows[0]["Message"].ToString());
WriteToFile("\n");
}
}
Любая помощь будет высоко оценена !!