【发布时间】:2016-12-24 12:52:26
【问题描述】:
最近几天我一直在解决这个问题,当我在我的开发机器上时它工作正常,但在客户端上却显示此错误。
现在这是我拥有的似乎显示错误的代码,因此任何帮助或指导都会令人惊叹,提前谢谢你。
private void document()
{
StreamWriter sWrite = new StreamWriter("C:\\Demo\\index.html");
//LOTS OF SWRITE LINES HERE
sWrite.Close();
System.Diagnostics.Process.Start("C:\\Demo\\index.html");
}
所以我不知道如果我运行此方法两次,它一直告诉我该文件已被另一个进程使用。
【问题讨论】:
-
尝试将
StreamWriter code包裹在using( ) {}周围 -
a) 你能给出异常的堆栈跟踪吗? b)您确定该方法中永远不会发生异常吗? c) 这可以从多个线程中调用吗?
-
@VBenavides,尝试发布答案中的代码,并在目标服务器上进行两种方式的测试。一个注释掉
Flush()代码,另一个注释掉Flush()代码。 -
谢谢大家的回答,我现在就试试!
-
如果您在多线程环境中运行,请记住您必须使用某种锁来防止竞争条件。
标签: c# html streamwriter process.start