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

WebService被调用结束后,w3wp.exe多少时间会销毁解决方法

2012-01-03 
WebService被调用结束后,w3wp.exe多少时间会销毁比如我写了一个最简单的Web Method(代码如下),然后写了一

WebService被调用结束后,w3wp.exe多少时间会销毁
比如我写了一个最简单的Web Method(代码如下),然后写了一个客户端去调用这个函数。

C# code
[WebMethod]public string HelloWorld(){    File.Create("d:\\1.txt");    return "Hello World";}


调用代码:

C# code
localhost.Service1SoapClient b = new localhost.Service1SoapClient();b.HelloWorld());b.Close();


当调用结束后,d:\1.txt生成成功。这个时候我想把这个1.txt删除掉,但提示我该文件被w3wp.exe占用。想请问下这个AppPool进程在这种情况下多少时间会被销毁。w3wp.exe的生存周期是怎样的。谢谢

[解决办法]
你的问题不是w3wp多久后会销毁,而是文件句柄没有释放。

[解决办法]
public static FileStream Create(
string path
)

这个函数返回了一个FileStream 你要关闭它。或者用using,会自动关闭

using (FileStream fs = File.Create(path))
{
Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
// Add some information to the file.
fs.Write(info, 0, info.Length);
}

代码来自msdn

http://msdn.microsoft.com/en-us/library/d62kzs03.aspx

热点排行