问题很简单,就是权限问题,我想要在ASP.NET Web Form程序中向目录写入log文件,但是不具有写权限。我知道设置anyone的权限可以解决,我在自己的测试机上就是这样做的。关键问题是服务器是租用的虚拟空间,我不能修改用户权限,这样我该怎么才能写入文件呢?搜过前面很多帖子,类似问题也很多,但回答都是大同小异,希望大家能给出有效的建议。

解决方案 »

  1.   

    必须对此目录具有可写权限,否则无法写入。避免对整个虚拟目录放开写权限,可以把log文件单独放到某个目录中进行操作。
      

  2.   

    to 我不能修改用户权限,这样我该怎么才能写入文件呢?修改aspnet用户对此目录具有可写权限即可。
      

  3.   

    一般的服务器提供商都会给可写的权限吧!!!
    不然你的数据库如何操作噢?
    要不试试做成XML记录信息!!!
      

  4.   

    同意:fengfangfang的方法.在服务器上如果要写入或修,2003下好像是要network service对目录或文件有写入修改权限才行.写XML也一样,所以放到数据库或者用jmail发到邮箱,是一种好办法.
      

  5.   

    写成XML文件就行了
    到时候自定义一个查看的方法
      

  6.   

    写成XML文件就行了
    到时候自定义一个查看的方法
    -----------
    XML也不一定具有读写的权限。
    支持karykwan(独行者) 的说法,对于租用的服务器,放在数据库比较好点。
      

  7.   

    如果有个你自己能控制权限的服务器,那在这服务器上建个 webservice ,用 webservice 来完成写日志的操作
      

  8.   

    感谢这么多朋友的建议!
    我不能修改服务端用户(ASPNET或WebService)的权限,所以写文件好像是有困难。
    写数据库不太好,占用数据库空间不说,还要依赖于数据库的稳定性,如果数据库出现故障,或者与数据库服务器的链接异常,log还怎么记呢。这不如本地IO操作可靠。
    写XML只是个格式问题,我写入txt文件都失败,写xml文件就可以吗?
      

  9.   

    不管什么文件都必须要有文件写入权限,租用的空间一般不给权限的,你找网管商量下。
    另,可以在别的你可以控制权限的机器上建立日志保存程序,比如一个aspx页面、webservice,把你的日志数据post到那机器上保存