我在一台Win2003服务器上运行了一个WebServer,其功能是向其它机器写入HTML文件,但是在运行时总是提示找不到指定的路径,而本程序在Win2000Server的机器上则可以正常运行,请各位指点一下原因,谢谢!
下面是向其它机器中写入HTML文件的代码:public void WriteHtml(string filename,string url,string logID, string htmlurl)
{
string doc = string.Empty;
WebResponse result = null;
try
{
try
{
WebRequest req = WebRequest.Create(url);
req.Timeout = 600000;
result = req.GetResponse();
Stream ReceiveStream = result.GetResponseStream();
BinaryReader r = new BinaryReader(ReceiveStream);
FileStream fs = new FileStream(filename, FileMode.Create);
BinaryWriter w = new BinaryWriter(fs);
try
{
byte[] buffer = r.ReadBytes(1024);
while(true)
{
w.Write(buffer);
if (buffer.Length < 1024)
{
break;
}
else
{
buffer = r.ReadBytes(1024);
}
}
UpdateData(logID,filename, htmlurl);
}
catch(Exception ex)
{
UpdateErrPage(logID);
Log.Add("0","访问页面("+url+")时发生如下456错误:"+ex.Message);
}
finally
{
r.Close();
w.Close();
fs.Close();
}

finally 
{
if ( result != null ) 
{
result.Close();
}
}
}
catch(Exception e)
{
UpdateErrPage(logID);
Log.Add("0","访问页面("+url+")时发生如下错误:"+e.Message);
}
}

解决方案 »

  1.   

    win2003上iis配置中开启“启用父路径”这项。
      

  2.   

    这个问题我遇到过,webService访问的目录必须要有ASPNET用户访问权限,看你写文件的目录是否有此用户的可写权限,没有添加上就可以了。
      

  3.   

    解决:在IIS中属性->主目录->配置-> 选项中。把“启用父路径”前面打上勾。
      

  4.   

    非常对不起,我写错了,这段程序是Windows服务程序,这段程序向服务器本地硬盘写文件没有问题,其它机器是通过“映射网络驱动器”在服务器上建立映射,再由本程序向其中写入文件,但是通过本服务器向其它机器的磁盘上写文件时就报找不到路径,这是什么原因,请各位指点一下,谢谢!
      

  5.   

    只有当该服务运行在Win2003系统上并向其它机器(无论目标机器是什么版本的Windows)写入文件时,就会报找不到路径,请各位大侠指点一下下吧,谢谢!
      

  6.   

    我在服务器和其它机器上都建立了一个完全相同的用户,并将该用户隶属于管理员组,按理说应该没问题呀,另外,该服务运行在Win2000的系统上就一点问题都没有,一放到Win2003上就不行,哪位大侠帮忙看看呀,谢谢了,急!
      

  7.   

    to jxufewbt:请问如何设置权限呀?
      

  8.   

    to bing_er:我早已将用户设置为可以完全控制目录了