473,405 Members | 2,344 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,405 software developers and data experts.

How to disable automatic stop on window service?

Hi,

I'm developing window service application on C# 2005.
The service is to read a new excel file on certain directory, and
process it to database.
The service work find on XP.
But when I install the application on Windows Server 2003, when i
start the service it said:
"The <my serviceon Local Computer started and then stop. Some
service stop automatically if they have no work to do , for example ,
the Performance Logs and Alerts System."

So my service will never run.

On my service I'm using File System Watcher Component.

What should I do?

Thanks.
Jul 13 '08 #1
8 9353
On Jul 13, 1:36*pm, Lemune <alfredosilito...@gmail.comwrote:
Hi,

I'm developing window service application on C# 2005.
The service is to read a new excel file on certain directory, and
process it to database.
The service work find on XP.
But when I install the application on Windows Server 2003, when i
start the service it said:
"The <my serviceon Local Computer started and then stop. Some
service stop automatically if they have no work to do , for example ,
the Performance Logs and Alerts System."

So my service will never run.

On my service I'm using File System Watcher Component.
It would help if you explain in more details how exactly you're using
that component (and, in general, how your service is written). Code
snippets would be even better.
Jul 13 '08 #2
Lemune wrote:
I'm developing window service application on C# 2005.
The service is to read a new excel file on certain directory, and
process it to database.
The service work find on XP.
But when I install the application on Windows Server 2003, when i
start the service it said:
"The <my serviceon Local Computer started and then stop. Some
service stop automatically if they have no work to do , for example ,
the Performance Logs and Alerts System."
This means your service crashed during startup, which could have any number
of causes. Consult the event log for more details, and hook up an event
handler to AppDomain.UnhandledException in your service that logs to a file.

--
J.
Jul 13 '08 #3
On Jul 13, 5:43*am, Jeroen Mostert <jmost...@xs4all.nlwrote:
Lemune wrote:
I'm developing window service application on C# 2005.
The service is to read a new excel file on certain directory, and
process it to database.
The service work find on XP.
But when I install the application on Windows Server 2003, when i
start the service it said:
"The <my serviceon Local Computer started and then stop. Some
service stop automatically if they have no work to do , for example ,
the Performance Logs and Alerts System."

This means your service crashed during startup, which could have any number
of causes. Consult the event log for more details, and hook up an event
handler to AppDomain.UnhandledException in your service that logs to a file.

--
J.
I can't remember for certain, but it sounds more like the service
stopped by choice. When a service crashes or throws an exception you
get a message stating that the service failed to start altogether.
Jul 13 '08 #4
Brian Gideon wrote:
On Jul 13, 5:43 am, Jeroen Mostert <jmost...@xs4all.nlwrote:
>Lemune wrote:
>>I'm developing window service application on C# 2005.
The service is to read a new excel file on certain directory, and
process it to database.
The service work find on XP.
But when I install the application on Windows Server 2003, when i
start the service it said:
"The <my serviceon Local Computer started and then stop. Some
service stop automatically if they have no work to do , for example ,
the Performance Logs and Alerts System."
This means your service crashed during startup, which could have any number
of causes. Consult the event log for more details, and hook up an event
handler to AppDomain.UnhandledException in your service that logs to a file.

I can't remember for certain, but it sounds more like the service
stopped by choice. When a service crashes or throws an exception you
get a message stating that the service failed to start altogether.
Not on Windows XP, at least; I tested it. If the service throws an exception
in its OnStart(), you'll get the exact message the OP described. The event
log will contain the exception details.

A .NET service can't really stop by choice, except through calling
Environment.Exit() (or by explicitly connecting to the SCM and stopping
itself, but that's just backwards).

--
J.
Jul 13 '08 #5
Thanks all for your quict reply

this is my snipped code ( I just translate it because i use my on
language)
Expand|Select|Wrap|Line Numbers
  1. public partial class HCCPReader : ServiceBase
  2. {
  3. DateTime _lastFileTime = DateTime.MinValue;
  4. protected DateTime _lastFTPTime = DateTime.MinValue;
  5. protected DateTime _lastUploadTime = DateTime.MinValue;
  6. protected DateTime _lastBankUploadTime = DateTime.MinValue;
  7.  
  8. System.Timers.Timer _newTimer = new System.Timers.Timer();
  9.  
  10. public HCCPReader()
  11. {
  12. InitializeComponent();
  13. }
  14.  
  15. protected override void OnStart(string[] args)
  16. {
  17. // TODO: Add code here to start your service.
  18. _lastFileTime = DateTime.MinValue;
  19. fswUpload.Path = Common.GetUploadSettlementPath();
  20. fswUpload.EnableRaisingEvents = true;
  21. fswFtp.Path = Common.GetFTPPath();
  22. fswFtp.EnableRaisingEvents = true;
  23. fswBankNotify.Path = Common.GetUploadBankPath();
  24. fswBankNotify.EnableRaisingEvents=true;
  25. _newTimer.Interval =3600000;
  26. _newTimer.Elapsed += new
  27. System.Timers.ElapsedEventHandler(ServiceTimer_Tick);
  28. }
  29.  
  30. protected override void OnStop()
  31. {
  32. // TODO: Add code here to perform any tear-down necessary to stop
  33. your service.
  34. fswUpload.EnableRaisingEvents = false;
  35. fswFtp.EnableRaisingEvents = false;
  36. fswBankNotify.EnableRaisingEvents = false;
  37. }
  38.  
  39. private void ServiceTimer_Tick(object sender,
  40. System.Timers.ElapsedEventArgs e)
  41. {
  42. SunFile.Clear();
  43. Clear.ClearDirectory();
  44. }
  45. private void fswFtp_Changed(object sender,
  46. System.IO.FileSystemEventArgs e)
  47. {
  48. DateTime _fswFileTime = File.GetLastAccessTime(e.FullPath);
  49. DataTable _dataExcel = new DataTable();
  50. try
  51. {
  52. if (_fswFileTime _lastFTPTime)
  53. {
  54. _lastFTPTime = _fswFileTime;
  55. bool _isFileComplete = Common.IsFileCompete(e.FullPath);
  56. int _tries = 0;
  57. while (!_isFileComplete && _tries < 15)
  58. {
  59. System.Threading.Thread.Sleep(1000);
  60. _tries++;
  61. _isFileComplete = Common.IsFileCompete(e.FullPath);
  62. }
  63. if (_isFileComplete)
  64. {
  65. //here sistem to read excel file
  66. _dataExcel = Reading.GetDataExcel(e.FullPath);
  67. //column 10
  68. string[] _arrayFileName = e.Name.Split('_');
  69. Decimal _fileTotal = 0;
  70. Decimal _totalAmount = 0;
  71. try
  72. {
  73. _fileTotal = Convert.ToDecimal(_arrayFileName[3]);
  74. }
  75. catch
  76. {
  77. _fileTotal = -1;
  78. TReadingLog.Add(e.Name, "Wrong Template", "File name is not same
  79. with file name template.");
  80. }
  81. if (_fileTotal != -1)
  82. {
  83. foreach (DataRow _record in _dataExcel.Rows)
  84. {
  85. if (_record[0].ToString() == "S" || _record[0].ToString() == "Z" ||
  86. _record[0].ToString() == "T" || _record[0].ToString() == "P")
  87. {
  88. _totalAmount += Convert.ToDecimal(_record[11]);
  89. }
  90. }
  91. if (_fileTotal != _totalAmount)
  92. {
  93. TReadingLog.Add(e.Name, "Diference Amount", "Total on FileName (" +
  94. _fileTotal.ToString() +
  95. ") is diffrent with file content (" + _totalAmount.ToString() +
  96. ".");
  97. }
  98. else
  99. {
  100. Status _insertMessage = new Status();
  101. if (Common.IsInActiveDate(_arrayFileName[2]))
  102. {
  103. _insertMessage = Settlement.Inserts(_dataExcel);
  104. }
  105. else
  106. {
  107. _insertMessage = Settlement.Inserts(_dataExcel, true);
  108. }
  109. if (_insertMessage.StatusValue)
  110. {
  111. TReadingLog.Add(e.Name, "Success", "Data settlement has been
  112. inserted. " + _insertMessage.Remark);
  113. }
  114. else
  115. {
  116. TReadingLog.Add(e.Name, "Failed", "Data settlement failed to be
  117. inserted. " + _insertMessage.Remark);
  118. }
  119. }
  120. }
  121. }
  122. else
  123. {
  124. _lastFTPTime = DateTime.MinValue;
  125. }
  126.  
  127. }
  128. }
  129. catch (Exception _error)
  130. {
  131. TLog.Add("HCCPReader.HCCPReader.fswFtp_Changed", _error.Message);
  132. }
  133. finally
  134. {
  135. _dataExcel.Dispose();
  136. }
  137. }
  138.  
  139. private void fswUpload_Changed(object sender, FileSystemEventArgs e)
  140. {
  141. DateTime _fswFileTime = File.GetLastAccessTime(e.FullPath);
  142. DataTable _dataExcel = new DataTable();
  143. try
  144. {
  145. if (_fswFileTime _lastFTPTime)
  146. {
  147. _lastFTPTime = _fswFileTime;
  148. bool _isFileComplete = Common.IsFileCompete(e.FullPath);
  149. int _tries = 0;
  150. while (!_isFileComplete && _tries < 15)
  151. {
  152. System.Threading.Thread.Sleep(1000);
  153. _tries++;
  154. _isFileComplete = Common.IsFileCompete(e.FullPath);
  155. }
  156. if (_isFileComplete)
  157. {
  158. //here sistem to read excel file
  159. _dataExcel = Reading.GetDataExcel(e.FullPath);
  160. //column 10
  161. string[] _arrayFileName = e.Name.Split('_');
  162. Decimal _fileTotal = 0;
  163. Decimal _totalAmount = 0;
  164. try
  165. {
  166. _fileTotal = Convert.ToDecimal(_arrayFileName[3]);
  167. }
  168. catch
  169. {
  170. _fileTotal = -1;
  171. TReadingLog.Add(e.Name, "Wrong Template", "File name is not same
  172. with file name template.");
  173. }
  174. if (_fileTotal != -1)
  175. {
  176. foreach (DataRow _record in _dataExcel.Rows)
  177. {
  178. if (_record[0].ToString() == "S" || _record[0].ToString() == "Z" ||
  179. _record[0].ToString() == "T" || _record[0].ToString() == "P")
  180. {
  181. _totalAmount += Convert.ToDecimal(_record[11]);
  182. }
  183. }
  184. if (_fileTotal != _totalAmount)
  185. {
  186. TReadingLog.Add(e.Name, "Diference Amount", "Total on FileName (" +
  187. _fileTotal.ToString() +
  188. ") is diffrent with file content (" + _totalAmount.ToString() +
  189. ".");
  190. }
  191. else
  192. {
  193. Status _insertMessage = new Status();
  194. if (Common.IsInActiveDate(_arrayFileName[2]))
  195. {
  196. _insertMessage = Settlement.Inserts(_dataExcel);
  197. }
  198. else
  199. {
  200. _insertMessage = Settlement.Inserts(_dataExcel, true);
  201. }
  202. if (_insertMessage.StatusValue)
  203. {
  204. TReadingLog.Add(e.Name, "Success", "Data settlement has been
  205. inserted. " + _insertMessage.Remark);
  206. }
  207. else
  208. {
  209. TReadingLog.Add(e.Name, "Failed", "Data settlement failed to be
  210. inserted. " + _insertMessage.Remark);
  211. }
  212. }
  213. }
  214. }
  215. else
  216. {
  217. _lastFTPTime = DateTime.MinValue;
  218. }
  219.  
  220. }
  221. }
  222. catch (Exception _error)
  223. {
  224. TLog.Add("HCCPReader.HCCPReader.fswUpload_Changed", _error.Message);
  225. }
  226. finally
  227. {
  228. _dataExcel.Dispose();
  229. }
  230. }
  231.  
  232. private void fswFtp_Created(object sender, FileSystemEventArgs e)
  233. {
  234. DateTime _fswFileTime = File.GetLastAccessTime(e.FullPath);
  235. DataTable _dataExcel = new DataTable();
  236. try
  237. {
  238. bool _isFileComplete = Common.IsFileCompete(e.FullPath);
  239. if (_isFileComplete)
  240. {
  241. //here sistem to read excel file
  242. _dataExcel = Reading.GetDataExcel(e.FullPath);
  243. string[] _arrayFileName = e.Name.Split('_');
  244. Decimal _fileTotal = 0;
  245. Decimal _totalAmount = 0;
  246. try
  247. {
  248. _fileTotal = Convert.ToDecimal(_arrayFileName[3]);
  249. }
  250. catch
  251. {
  252. _fileTotal = -1;
  253. TReadingLog.Add(e.Name, "Wrong Template", "File name is not same
  254. with file name template.");
  255. }
  256. if (_fileTotal != -1)
  257. {
  258. foreach (DataRow _record in _dataExcel.Rows)
  259. {
  260. if (_record[0].ToString() == "S" || _record[0].ToString() == "Z"
  261. || _record[0].ToString() == "T" || _record[0].ToString() == "P")
  262. {
  263. _totalAmount += Convert.ToDecimal(_record[11]);
  264. }
  265. }
  266. if (_fileTotal != _totalAmount)
  267. {
  268. TReadingLog.Add(e.Name, "Diference Amount", "Total on FileName
  269. (" + _fileTotal.ToString() +
  270. ") is diffrent with file content (" + _totalAmount.ToString() +
  271. ".");
  272. }
  273. else
  274. {
  275. Status _insertMessage = new Status();
  276. if (Common.IsInActiveDate(_arrayFileName[2]))
  277. {
  278. _insertMessage = Settlement.Inserts(_dataExcel);
  279. }
  280. else
  281. {
  282. _insertMessage = Settlement.Inserts(_dataExcel, true);
  283. }
  284. if (_insertMessage.StatusValue)
  285. {
  286. TReadingLog.Add(e.Name, "Success", "Data settlement has been
  287. inserted. " + _insertMessage.Remark);
  288. }
  289. else
  290. {
  291. TReadingLog.Add(e.Name, "Failed", "Data settlement failed to be
  292. inserted. " + _insertMessage.Remark);
  293. }
  294. }
  295. }
  296. }
  297. }
  298. catch (Exception _error)
  299. {
  300. TLog.Add("HCCPReader.HCCPReader.fswFtp_Created", _error.Message);
  301. }
  302. finally
  303. {
  304. _dataExcel.Dispose();
  305. }
  306. }
  307.  
  308. private void fswUpload_Created(object sender, FileSystemEventArgs e)
  309. {
  310. DateTime _fswFileTime = File.GetLastAccessTime(e.FullPath);
  311. DataTable _dataExcel = new DataTable();
  312. try
  313. {
  314. bool _isFileComplete = Common.IsFileCompete(e.FullPath);
  315. if (_isFileComplete)
  316. {
  317. //here sistem to read excel file
  318. _dataExcel = Reading.GetDataExcel(e.FullPath);
  319. string[] _arrayFileName = e.Name.Split('_');
  320. Decimal _fileTotal = 0;
  321. Decimal _totalAmount = 0;
  322. try
  323. {
  324. _fileTotal = Convert.ToDecimal(_arrayFileName[3]);
  325. }
  326. catch
  327. {
  328. _fileTotal = -1;
  329. TReadingLog.Add(e.Name, "Wrong Template", "File name is not same
  330. with file name template.");
  331. }
  332. if (_fileTotal != -1)
  333. {
  334. foreach (DataRow _record in _dataExcel.Rows)
  335. {
  336. if (_record[0].ToString() == "S" || _record[0].ToString() == "Z"
  337. || _record[0].ToString() == "T" || _record[0].ToString() == "P")
  338. {
  339. _totalAmount += Convert.ToDecimal(_record[11]);
  340. }
  341. }
  342. if (_fileTotal != _totalAmount)
  343. {
  344. TReadingLog.Add(e.Name, "Diference Amount", "Total on FileName
  345. (" + _fileTotal.ToString() +
  346. ") is diffrent with file content (" + _totalAmount.ToString() +
  347. ".");
  348. }
  349. else
  350. {
  351.  
  352. Status _insertMessage = new Status();
  353. if(Common.IsInActiveDate(_arrayFileName[2]))
  354. {
  355. _insertMessage=Settlement.Inserts(_dataExcel);
  356. }
  357. else
  358. {
  359. _insertMessage=Settlement.Inserts(_dataExcel,true);
  360. }
  361. if (_insertMessage.StatusValue)
  362. {
  363. TReadingLog.Add(e.Name,"Success", "Data settlement has been
  364. inserted. " + _insertMessage.Remark);
  365. }
  366. else
  367. {
  368. TReadingLog.Add(e.Name,"Failed", "Data settlement failed to be
  369. inserted. " + _insertMessage.Remark);
  370. }
  371. }
  372. }
  373. }
  374. }
  375. catch (Exception _error)
  376. {
  377. TLog.Add("HCCPReader.HCCPReader.fswUpload_Created", _error.Message);
  378. }
  379. finally
  380. {
  381. _dataExcel.Dispose();
  382. }
  383. }
  384.  
  385. private void fswBankNotify_Changed(object sender, FileSystemEventArgs
  386. e)
  387. {
  388. DateTime _fswFileTime = File.GetLastAccessTime(e.FullPath);
  389. DataTable _dataExcel = new DataTable();
  390. try
  391. {
  392. if (_fswFileTime _lastBankUploadTime)
  393. {
  394. _lastBankUploadTime = _fswFileTime;
  395. bool _isFileComplete = Common.IsFileCompete(e.FullPath);
  396. int _tries = 0;
  397. while (!_isFileComplete && _tries < 15)
  398. {
  399. System.Threading.Thread.Sleep(1000);
  400. _tries++;
  401. _isFileComplete = Common.IsFileCompete(e.FullPath);
  402. }
  403. if (_isFileComplete)
  404. {
  405. //here sistem to read excel file
  406. _dataExcel = Reading.GetDataExcel(e.FullPath);
  407. Status _insertMessage = new Status();
  408. _insertMessage = BankNotification.Process(_dataExcel);
  409. if (_insertMessage.StatusValue)
  410. {
  411. TReadingLog.Add(e.Name, "Success", "Data bank notification
  412. berhasil diinput. " + _insertMessage.Remark);
  413. }
  414. else
  415. {
  416. TReadingLog.Add(e.Name, "Failed", "Data bank notification gagal
  417. diinput. " + _insertMessage.Remark);
  418. }
  419. FileInfo _fileInfo = new FileInfo(e.FullPath);
  420. TTempBankNotification.UpdateStatus(_fileInfo.DirectoryName,
  421. _insertMessage);
  422. File.Delete(e.FullPath);
  423. }
  424. else
  425. {
  426. _lastFTPTime = DateTime.MinValue;
  427. }
  428. }
  429. }
  430. catch (Exception _error)
  431. {
  432. TLog.Add("HCCPReader.HCCPReader.fswBankNotify_Changed",
  433. _error.Message);
  434. }
  435. finally
  436. {
  437. _dataExcel.Dispose();
  438. }
  439. }
  440.  
  441. private void fswBankNotify_Created(object sender, FileSystemEventArgs
  442. e)
  443. {
  444. DateTime _fswFileTime = File.GetLastAccessTime(e.FullPath);
  445. DataTable _dataExcel = new DataTable();
  446. try
  447. {
  448. bool _isFileComplete = Common.IsFileCompete(e.FullPath);
  449. if (_isFileComplete)
  450. {
  451. //here sistem to read excel file
  452. _dataExcel = Reading.GetDataExcel(e.FullPath);
  453. Status _insertMessage = new Status();
  454. _insertMessage = BankNotification.Process(_dataExcel);
  455. if (_insertMessage.StatusValue)
  456. {
  457. TReadingLog.Add(e.Name, "Success", "Data bank notification berhasil
  458. diinput. " + _insertMessage.Remark);
  459. }
  460. else
  461. {
  462. TReadingLog.Add(e.Name, "Failed", "Data bank notification gagal
  463. diinput. " + _insertMessage.Remark);
  464. }
  465. FileInfo _fileInfo= new FileInfo(e.FullPath);
  466. TTempBankNotification.UpdateStatus(_fileInfo.DirectoryName,
  467. _insertMessage);
  468. File.Delete(e.FullPath);
  469. }
  470. }
  471. catch (Exception _error)
  472. {
  473. TLog.Add("HCCPReader.HCCPReader.fswBankNotify_Created",
  474. _error.Message);
  475. }
  476. finally
  477. {
  478. _dataExcel.Dispose();
  479. }
  480. }
  481. }
  482.  
  483.  
My code just run well on MS XP, but it has this problem on MS Server
2003
Jul 14 '08 #6
Thanks all for your quict reply

this is my snipped code ( I just translate it because i use my on
language)
Expand|Select|Wrap|Line Numbers
  1. public partial class HCCPReader : ServiceBase
  2. {
  3. DateTime _lastFileTime = DateTime.MinValue;
  4. protected DateTime _lastFTPTime = DateTime.MinValue;
  5. protected DateTime _lastUploadTime = DateTime.MinValue;
  6. protected DateTime _lastBankUploadTime = DateTime.MinValue;
  7.  
  8. System.Timers.Timer _newTimer = new System.Timers.Timer();
  9.  
  10. public HCCPReader()
  11. {
  12. InitializeComponent();
  13. }
  14.  
  15. protected override void OnStart(string[] args)
  16. {
  17. // TODO: Add code here to start your service.
  18. _lastFileTime = DateTime.MinValue;
  19. fswUpload.Path = Common.GetUploadSettlementPath();
  20. fswUpload.EnableRaisingEvents = true;
  21. fswFtp.Path = Common.GetFTPPath();
  22. fswFtp.EnableRaisingEvents = true;
  23. fswBankNotify.Path = Common.GetUploadBankPath();
  24. fswBankNotify.EnableRaisingEvents=true;
  25. _newTimer.Interval =3600000;
  26. _newTimer.Elapsed += new
  27. System.Timers.ElapsedEventHandler(ServiceTimer_Tick);
  28. }
  29.  
  30. protected override void OnStop()
  31. {
  32. // TODO: Add code here to perform any tear-down necessary to stop
  33. your service.
  34. fswUpload.EnableRaisingEvents = false;
  35. fswFtp.EnableRaisingEvents = false;
  36. fswBankNotify.EnableRaisingEvents = false;
  37. }
  38.  
  39. private void ServiceTimer_Tick(object sender,
  40. System.Timers.ElapsedEventArgs e)
  41. {
  42. SunFile.Clear();
  43. Clear.ClearDirectory();
  44. }
  45. private void fswFtp_Changed(object sender,
  46. System.IO.FileSystemEventArgs e)
  47. {
  48. DateTime _fswFileTime = File.GetLastAccessTime(e.FullPath);
  49. DataTable _dataExcel = new DataTable();
  50. try
  51. {
  52. if (_fswFileTime _lastFTPTime)
  53. {
  54. _lastFTPTime = _fswFileTime;
  55. bool _isFileComplete = Common.IsFileCompete(e.FullPath);
  56. int _tries = 0;
  57. while (!_isFileComplete && _tries < 15)
  58. {
  59. System.Threading.Thread.Sleep(1000);
  60. _tries++;
  61. _isFileComplete = Common.IsFileCompete(e.FullPath);
  62. }
  63. if (_isFileComplete)
  64. {
  65. //here sistem to read excel file
  66. _dataExcel = Reading.GetDataExcel(e.FullPath);
  67. //column 10
  68. string[] _arrayFileName = e.Name.Split('_');
  69. Decimal _fileTotal = 0;
  70. Decimal _totalAmount = 0;
  71. try
  72. {
  73. _fileTotal = Convert.ToDecimal(_arrayFileName[3]);
  74. }
  75. catch
  76. {
  77. _fileTotal = -1;
  78. TReadingLog.Add(e.Name, "Wrong Template", "File name is not same
  79. with file name template.");
  80. }
  81. if (_fileTotal != -1)
  82. {
  83. foreach (DataRow _record in _dataExcel.Rows)
  84. {
  85. if (_record[0].ToString() == "S" || _record[0].ToString() == "Z" ||
  86. _record[0].ToString() == "T" || _record[0].ToString() == "P")
  87. {
  88. _totalAmount += Convert.ToDecimal(_record[11]);
  89. }
  90. }
  91. if (_fileTotal != _totalAmount)
  92. {
  93. TReadingLog.Add(e.Name, "Diference Amount", "Total on FileName (" +
  94. _fileTotal.ToString() +
  95. ") is diffrent with file content (" + _totalAmount.ToString() +
  96. ".");
  97. }
  98. else
  99. {
  100. Status _insertMessage = new Status();
  101. if (Common.IsInActiveDate(_arrayFileName[2]))
  102. {
  103. _insertMessage = Settlement.Inserts(_dataExcel);
  104. }
  105. else
  106. {
  107. _insertMessage = Settlement.Inserts(_dataExcel, true);
  108. }
  109. if (_insertMessage.StatusValue)
  110. {
  111. TReadingLog.Add(e.Name, "Success", "Data settlement has been
  112. inserted. " + _insertMessage.Remark);
  113. }
  114. else
  115. {
  116. TReadingLog.Add(e.Name, "Failed", "Data settlement failed to be
  117. inserted. " + _insertMessage.Remark);
  118. }
  119. }
  120. }
  121. }
  122. else
  123. {
  124. _lastFTPTime = DateTime.MinValue;
  125. }
  126.  
  127. }
  128. }
  129. catch (Exception _error)
  130. {
  131. TLog.Add("HCCPReader.HCCPReader.fswFtp_Changed", _error.Message);
  132. }
  133. finally
  134. {
  135. _dataExcel.Dispose();
  136. }
  137. }
  138.  
  139. private void fswUpload_Changed(object sender, FileSystemEventArgs e)
  140. {
  141. DateTime _fswFileTime = File.GetLastAccessTime(e.FullPath);
  142. DataTable _dataExcel = new DataTable();
  143. try
  144. {
  145. if (_fswFileTime _lastFTPTime)
  146. {
  147. _lastFTPTime = _fswFileTime;
  148. bool _isFileComplete = Common.IsFileCompete(e.FullPath);
  149. int _tries = 0;
  150. while (!_isFileComplete && _tries < 15)
  151. {
  152. System.Threading.Thread.Sleep(1000);
  153. _tries++;
  154. _isFileComplete = Common.IsFileCompete(e.FullPath);
  155. }
  156. if (_isFileComplete)
  157. {
  158. //here sistem to read excel file
  159. _dataExcel = Reading.GetDataExcel(e.FullPath);
  160. //column 10
  161. string[] _arrayFileName = e.Name.Split('_');
  162. Decimal _fileTotal = 0;
  163. Decimal _totalAmount = 0;
  164. try
  165. {
  166. _fileTotal = Convert.ToDecimal(_arrayFileName[3]);
  167. }
  168. catch
  169. {
  170. _fileTotal = -1;
  171. TReadingLog.Add(e.Name, "Wrong Template", "File name is not same
  172. with file name template.");
  173. }
  174. if (_fileTotal != -1)
  175. {
  176. foreach (DataRow _record in _dataExcel.Rows)
  177. {
  178. if (_record[0].ToString() == "S" || _record[0].ToString() == "Z" ||
  179. _record[0].ToString() == "T" || _record[0].ToString() == "P")
  180. {
  181. _totalAmount += Convert.ToDecimal(_record[11]);
  182. }
  183. }
  184. if (_fileTotal != _totalAmount)
  185. {
  186. TReadingLog.Add(e.Name, "Diference Amount", "Total on FileName (" +
  187. _fileTotal.ToString() +
  188. ") is diffrent with file content (" + _totalAmount.ToString() +
  189. ".");
  190. }
  191. else
  192. {
  193. Status _insertMessage = new Status();
  194. if (Common.IsInActiveDate(_arrayFileName[2]))
  195. {
  196. _insertMessage = Settlement.Inserts(_dataExcel);
  197. }
  198. else
  199. {
  200. _insertMessage = Settlement.Inserts(_dataExcel, true);
  201. }
  202. if (_insertMessage.StatusValue)
  203. {
  204. TReadingLog.Add(e.Name, "Success", "Data settlement has been
  205. inserted. " + _insertMessage.Remark);
  206. }
  207. else
  208. {
  209. TReadingLog.Add(e.Name, "Failed", "Data settlement failed to be
  210. inserted. " + _insertMessage.Remark);
  211. }
  212. }
  213. }
  214. }
  215. else
  216. {
  217. _lastFTPTime = DateTime.MinValue;
  218. }
  219.  
  220. }
  221. }
  222. catch (Exception _error)
  223. {
  224. TLog.Add("HCCPReader.HCCPReader.fswUpload_Changed", _error.Message);
  225. }
  226. finally
  227. {
  228. _dataExcel.Dispose();
  229. }
  230. }
  231.  
  232. private void fswFtp_Created(object sender, FileSystemEventArgs e)
  233. {
  234. DateTime _fswFileTime = File.GetLastAccessTime(e.FullPath);
  235. DataTable _dataExcel = new DataTable();
  236. try
  237. {
  238. bool _isFileComplete = Common.IsFileCompete(e.FullPath);
  239. if (_isFileComplete)
  240. {
  241. //here sistem to read excel file
  242. _dataExcel = Reading.GetDataExcel(e.FullPath);
  243. string[] _arrayFileName = e.Name.Split('_');
  244. Decimal _fileTotal = 0;
  245. Decimal _totalAmount = 0;
  246. try
  247. {
  248. _fileTotal = Convert.ToDecimal(_arrayFileName[3]);
  249. }
  250. catch
  251. {
  252. _fileTotal = -1;
  253. TReadingLog.Add(e.Name, "Wrong Template", "File name is not same
  254. with file name template.");
  255. }
  256. if (_fileTotal != -1)
  257. {
  258. foreach (DataRow _record in _dataExcel.Rows)
  259. {
  260. if (_record[0].ToString() == "S" || _record[0].ToString() == "Z"
  261. || _record[0].ToString() == "T" || _record[0].ToString() == "P")
  262. {
  263. _totalAmount += Convert.ToDecimal(_record[11]);
  264. }
  265. }
  266. if (_fileTotal != _totalAmount)
  267. {
  268. TReadingLog.Add(e.Name, "Diference Amount", "Total on FileName
  269. (" + _fileTotal.ToString() +
  270. ") is diffrent with file content (" + _totalAmount.ToString() +
  271. ".");
  272. }
  273. else
  274. {
  275. Status _insertMessage = new Status();
  276. if (Common.IsInActiveDate(_arrayFileName[2]))
  277. {
  278. _insertMessage = Settlement.Inserts(_dataExcel);
  279. }
  280. else
  281. {
  282. _insertMessage = Settlement.Inserts(_dataExcel, true);
  283. }
  284. if (_insertMessage.StatusValue)
  285. {
  286. TReadingLog.Add(e.Name, "Success", "Data settlement has been
  287. inserted. " + _insertMessage.Remark);
  288. }
  289. else
  290. {
  291. TReadingLog.Add(e.Name, "Failed", "Data settlement failed to be
  292. inserted. " + _insertMessage.Remark);
  293. }
  294. }
  295. }
  296. }
  297. }
  298. catch (Exception _error)
  299. {
  300. TLog.Add("HCCPReader.HCCPReader.fswFtp_Created", _error.Message);
  301. }
  302. finally
  303. {
  304. _dataExcel.Dispose();
  305. }
  306. }
  307.  
  308. private void fswUpload_Created(object sender, FileSystemEventArgs e)
  309. {
  310. DateTime _fswFileTime = File.GetLastAccessTime(e.FullPath);
  311. DataTable _dataExcel = new DataTable();
  312. try
  313. {
  314. bool _isFileComplete = Common.IsFileCompete(e.FullPath);
  315. if (_isFileComplete)
  316. {
  317. //here sistem to read excel file
  318. _dataExcel = Reading.GetDataExcel(e.FullPath);
  319. string[] _arrayFileName = e.Name.Split('_');
  320. Decimal _fileTotal = 0;
  321. Decimal _totalAmount = 0;
  322. try
  323. {
  324. _fileTotal = Convert.ToDecimal(_arrayFileName[3]);
  325. }
  326. catch
  327. {
  328. _fileTotal = -1;
  329. TReadingLog.Add(e.Name, "Wrong Template", "File name is not same
  330. with file name template.");
  331. }
  332. if (_fileTotal != -1)
  333. {
  334. foreach (DataRow _record in _dataExcel.Rows)
  335. {
  336. if (_record[0].ToString() == "S" || _record[0].ToString() == "Z"
  337. || _record[0].ToString() == "T" || _record[0].ToString() == "P")
  338. {
  339. _totalAmount += Convert.ToDecimal(_record[11]);
  340. }
  341. }
  342. if (_fileTotal != _totalAmount)
  343. {
  344. TReadingLog.Add(e.Name, "Diference Amount", "Total on FileName
  345. (" + _fileTotal.ToString() +
  346. ") is diffrent with file content (" + _totalAmount.ToString() +
  347. ".");
  348. }
  349. else
  350. {
  351.  
  352. Status _insertMessage = new Status();
  353. if(Common.IsInActiveDate(_arrayFileName[2]))
  354. {
  355. _insertMessage=Settlement.Inserts(_dataExcel);
  356. }
  357. else
  358. {
  359. _insertMessage=Settlement.Inserts(_dataExcel,true);
  360. }
  361. if (_insertMessage.StatusValue)
  362. {
  363. TReadingLog.Add(e.Name,"Success", "Data settlement has been
  364. inserted. " + _insertMessage.Remark);
  365. }
  366. else
  367. {
  368. TReadingLog.Add(e.Name,"Failed", "Data settlement failed to be
  369. inserted. " + _insertMessage.Remark);
  370. }
  371. }
  372. }
  373. }
  374. }
  375. catch (Exception _error)
  376. {
  377. TLog.Add("HCCPReader.HCCPReader.fswUpload_Created", _error.Message);
  378. }
  379. finally
  380. {
  381. _dataExcel.Dispose();
  382. }
  383. }
  384.  
  385. private void fswBankNotify_Changed(object sender, FileSystemEventArgs
  386. e)
  387. {
  388. DateTime _fswFileTime = File.GetLastAccessTime(e.FullPath);
  389. DataTable _dataExcel = new DataTable();
  390. try
  391. {
  392. if (_fswFileTime _lastBankUploadTime)
  393. {
  394. _lastBankUploadTime = _fswFileTime;
  395. bool _isFileComplete = Common.IsFileCompete(e.FullPath);
  396. int _tries = 0;
  397. while (!_isFileComplete && _tries < 15)
  398. {
  399. System.Threading.Thread.Sleep(1000);
  400. _tries++;
  401. _isFileComplete = Common.IsFileCompete(e.FullPath);
  402. }
  403. if (_isFileComplete)
  404. {
  405. //here sistem to read excel file
  406. _dataExcel = Reading.GetDataExcel(e.FullPath);
  407. Status _insertMessage = new Status();
  408. _insertMessage = BankNotification.Process(_dataExcel);
  409. if (_insertMessage.StatusValue)
  410. {
  411. TReadingLog.Add(e.Name, "Success", "Data bank notification
  412. berhasil diinput. " + _insertMessage.Remark);
  413. }
  414. else
  415. {
  416. TReadingLog.Add(e.Name, "Failed", "Data bank notification gagal
  417. diinput. " + _insertMessage.Remark);
  418. }
  419. FileInfo _fileInfo = new FileInfo(e.FullPath);
  420. TTempBankNotification.UpdateStatus(_fileInfo.DirectoryName,
  421. _insertMessage);
  422. File.Delete(e.FullPath);
  423. }
  424. else
  425. {
  426. _lastFTPTime = DateTime.MinValue;
  427. }
  428. }
  429. }
  430. catch (Exception _error)
  431. {
  432. TLog.Add("HCCPReader.HCCPReader.fswBankNotify_Changed",
  433. _error.Message);
  434. }
  435. finally
  436. {
  437. _dataExcel.Dispose();
  438. }
  439. }
  440.  
  441. private void fswBankNotify_Created(object sender, FileSystemEventArgs
  442. e)
  443. {
  444. DateTime _fswFileTime = File.GetLastAccessTime(e.FullPath);
  445. DataTable _dataExcel = new DataTable();
  446. try
  447. {
  448. bool _isFileComplete = Common.IsFileCompete(e.FullPath);
  449. if (_isFileComplete)
  450. {
  451. //here sistem to read excel file
  452. _dataExcel = Reading.GetDataExcel(e.FullPath);
  453. Status _insertMessage = new Status();
  454. _insertMessage = BankNotification.Process(_dataExcel);
  455. if (_insertMessage.StatusValue)
  456. {
  457. TReadingLog.Add(e.Name, "Success", "Data bank notification berhasil
  458. diinput. " + _insertMessage.Remark);
  459. }
  460. else
  461. {
  462. TReadingLog.Add(e.Name, "Failed", "Data bank notification gagal
  463. diinput. " + _insertMessage.Remark);
  464. }
  465. FileInfo _fileInfo= new FileInfo(e.FullPath);
  466. TTempBankNotification.UpdateStatus(_fileInfo.DirectoryName,
  467. _insertMessage);
  468. File.Delete(e.FullPath);
  469. }
  470. }
  471. catch (Exception _error)
  472. {
  473. TLog.Add("HCCPReader.HCCPReader.fswBankNotify_Created",
  474. _error.Message);
  475. }
  476. finally
  477. {
  478. _dataExcel.Dispose();
  479. }
  480. }
  481. }
  482.  
  483.  
My code just run well on MS XP, but it has this problem on MS Server
2003
Jul 14 '08 #7
On Jul 13, 2:50*pm, Jeroen Mostert <jmost...@xs4all.nlwrote:
Brian Gideon wrote:
On Jul 13, 5:43 am, Jeroen Mostert <jmost...@xs4all.nlwrote:
Lemune wrote:
I'm developing window service application on C# 2005.
The service is to read a new excel file on certain directory, and
process it to database.
The service work find on XP.
But when I install the application on Windows Server 2003, when i
start the service it said:
"The <my serviceon Local Computer started and then stop. Some
service stop automatically if they have no work to do , for example ,
the Performance Logs and Alerts System."
This means your service crashed during startup, which could have any number
of causes. Consult the event log for more details, and hook up an event
handler to AppDomain.UnhandledException in your service that logs to afile.
I can't remember for certain, but it sounds more like the service
stopped by choice. *When a service crashes or throws an exception you
get a message stating that the service failed to start altogether.

Not on Windows XP, at least; I tested it. If the service throws an exception
in its OnStart(), you'll get the exact message the OP described. The event
log will contain the exception details.

A .NET service can't really stop by choice, except through calling
Environment.Exit() (or by explicitly connecting to the SCM and stopping
itself, but that's just backwards).

--
J.
Yep, I tested it too. You are correct. I guess my memory isn't that
good :)
Jul 14 '08 #8
Thanks Jeroen,

I check event log, and I have found my error.
It's just because the my exe config that has some error.
I have fixed my problem.

Thanks all.
Jul 15 '08 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
by: Weng kin | last post by:
Hi everyone, I have a problem trying to load an image without the image resizing itself to fit into the window. My simple javascript is as follows: function viewImage(filename) { features =...
3
by: Marcus Otmarsen | last post by:
During the last months I obeserved a growing number of web pages with popups inside a web page. I don't know the technique by which these in-page-windows are implemented (either Javascript or...
7
by: Gayathri | last post by:
Is there anyway to disable the stop button in IE 6? Without doing "Opening in new window and toolbar is set to no" what will document.onstop help in?? I need to capture the browser stop...
3
by: Joe | last post by:
Dear Friends, How to run the C# Console application as services? I have a console application.I want run this application as background services.User don't want see the command propmt. If anyone...
11
by: Frank Rizzo | last post by:
Hello, My c# based windows service takes a while to dispose. I have to release bunch of resources all over the place and unfortunately it can take 20-40 seconds before I can cleanly exit. ...
5
by: Ike | last post by:
Does anyone know how to disable a list box element in VB 6 ? Thanks Ike
2
by: srcleveland | last post by:
I am trying to have a windows service stop itself. I am currently using the following code but I would like to find a way to stop the service without having to shell out to a command prompt ...
5
by: darthghandi | last post by:
I've created a class to listen to all interfaces and do a BeginAccept(). Once it gets a connection, it passes the connected socket off and stores it in a List. Next, it continues to listen for...
3
by: myjish18 | last post by:
Hello, We have a DB2 UDB database v8.2.7 (db2 v8.2 fixpak 14) on AIX 5.3 which has Automatic Storage (AS) enabled. We want to disable automatic storage on entire database and/or disable...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.