c# - Windows 服务中随机出现 System.ArgumentNullException
问题描述
我的 WCF 服务已经部署,我一直面临这个奇怪的问题。它已设置为在出现错误时自动重新启动。
我一直在观察我的服务随机停止。而且我没有得到任何相同的日志。
它一直在给我以下例外
Service cannot be started. System.ArgumentNullException: Value cannot be null.
Parameter name: path
at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize, Boolean checkHost)
at System.IO.StreamWriter..ctor(String path, Boolean append)
at CommonNameSpace.Generator.Utility.ExceptionLog(Exception ex) in C:\Users\downstreamdev01\source\repos\Project\MyService\Myservice.Solution\Myservice.BusinessLogic\Utility.cs:line 22
at MyServiceNamespace.MyService.OnStart(String[] args)
at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
这是它指向的方法的代码。
public static void ExceptionLog(Exception ex)
{
string gh = GetConfigurationValue("ErrorLog");
StreamWriter swFileLog = new StreamWriter(GetConfigurationValue("ErrorLog"), append: true);
StringBuilder sbErrorLog = new StringBuilder();
sbErrorLog.AppendLine("******* ERROR Log - START **********");
sbErrorLog.AppendLine("[Date Time]: " + DateTime.Now.ToString());
sbErrorLog.AppendLine("[ex.Source]: " + Convert.ToString(ex.Source));
sbErrorLog.AppendLine("[ex.Message]: " + Convert.ToString(ex.Message));
sbErrorLog.AppendLine("[ex.InnerException]: " + Convert.ToString(ex.InnerException));
sbErrorLog.AppendLine("########### StackTrace - START ###########");
sbErrorLog.AppendLine(" ");
sbErrorLog.AppendLine("[ex.StackTrace]: " + Convert.ToString(ex.StackTrace));
sbErrorLog.AppendLine("[ex.Target Site]: " + Convert.ToString(ex.TargetSite));
sbErrorLog.AppendLine("########### StackTrace - END ###########");
sbErrorLog.AppendLine(" ");
sbErrorLog.AppendLine("******* ERROR Log - END **********");
swFileLog.WriteLine(sbErrorLog.ToString());
swFileLog.Close();
}
我无法理解这里发生了什么。当我尝试重新启动它时,它一直显示无法启动 Windows 服务,错误 1064错误。但是我随后重建了 Windows 服务项目并尝试再次启动它并启动它。
谁能告诉这里可能是什么问题?或可以防止此类事情的可能方法?
解决方案
推荐阅读
- mysql - 错误 1449 (HY000): 指定为定义者的用户 ('mysql.infoschema'@'localhost') 不存在
- php - 将 PHP 字符串变量转换为 PHP 脚本
- android - 无法将 android studio 更新到 4.0
- android - 如何防止recyclerView自动滚动?
- r - 用于计算“累积差异”的 R 函数
- php - 带有 PHPSESSID 的 Teams 人员选项卡 iO 上的问题
- python - PIL.UnidentifiedImageError:无法识别图像文件'image-playground/.DS_Store'
- rest - Netsuite:通过 REST Web 服务在自定义列表中添加新值
- javascript - 在这个二叉搜索树 (JavaScript) 代码中,有序、前序和后序的递归是如何工作的?
- python - 我如何在python中运行用户给定/获取的代码