首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

windows服务调用应用程序,应用程序无法执行写文件操作.高手帮忙,该怎么解决

2012-01-21 
windows服务调用应用程序,应用程序无法执行写文件操作...高手帮忙还是Windows服务调用应用程序的问题。所调

windows服务调用应用程序,应用程序无法执行写文件操作...高手帮忙
还是Windows服务调用应用程序的问题。
所调用的应用程序会执行另外一个应用程序,成功后会写一个log文件的操作
logPath   =   System.Environment.CurrentDirectory   +   "\\service.log ";
StreamWriter   sw;
if   (File.Exists(logPath)   ==   false)
                        {
                                sw   =   File.CreateText(logPath);
                        }

                        sw   =   File.AppendText(logPath);
                        string   Info   =   "addSucceed ";
                        sw.WriteLine(Info);
                        sw.Flush();
                        sw.Close();
应用程序单独执行的时候是可以成功执行另外的那个应用程序并写入这个Info的,服务调用应用程序后,会成功执行另外的那个应用程序,但是不会写入Info...

[解决办法]
logPath的位置不对,它会指向[windows]\[System32]文件夹
应该使用AppDomain的方法获得服务所在的路径

[解决办法]
把变量logPath 做到config文件里
并把路径写成绝对路径
然后在程序中读此配置节点值,可避免相对路径带来的不确定因素

热点排行