C#后台生成文件失败处理

 

错误问题描述

编译器:vs2010,程序在本地运行OK,在服务器上运行的时候,后台生成静态html文件的时候会报如下错误,

 

报错:禁止访问

生成新的文件OK,但是生成文件覆盖原来的文件时就会提示了无权访问该路径的文件。

错误分析

1、提示的错误是:禁止访问该路径的文件;

2、本地运行是OK的,说明本地程序是可以访问对应路径的文件的;

         首先,根据错误的提示,我们能确定肯定是服务器上相应路径的权限问题。其次,我们再分析需要给什么用户什么样的权限。在本地运行程序,只要对应的文件夹给该程序读写等权限,那程序运行就OK了。明显在本地,我们的程序是有这样的权限的。但是我们遇到的问题来了,当我们在浏览器中输入域名网址访问,运行程序的对应功能的时候,报错了,禁止访问文件。

仔细分析,这一个操作和我们在本地运行程序是有很大区别的。同样是在浏览器中打开网站浏览操作,但是,在本地运行程序中,是开发工具vs2010的用户对相应文件访问操作,而,在浏览打开服务器IIS部署的网站时,是IIS的用户对相应的文件访问操作。所以,我们需要给相应的文件夹或者文件给予IIS用户相应的权限。

解决办法

在服务上给相应的文件夹的访问添加IIS用户和相应权限,如下:

 

文件夹权限设置

聊聊

         这个问题以及类似的问题在网站项目中是很容易被忽略掉的。特别是在后台动态生成文件加和文件的情况下,这个问题明显很容易被忽略掉。在用vs开发的时候,很多时候我们喜欢且习惯点击运行项目在浏览器中查看,检测修改,很少部署到本地IIS下去运行检测。

         曾经我在看网页的时候看到这样一个笑话,其实并不好笑,或者对于大众来说,真的不好笑,可是当很多coder 看到这个笑话的时候,还是不禁一笑,脑海中浮现了自己曾经不同的却也相似的joke。

         这个笑话是这样的:

一个大清早上班,一个码农在处理了一个程序的时候,发现出现了一个bug。

 

看了看,感觉是要好好检测代码了,检测一个上午没找到问题,他感觉像是遇到技术难题了,说下午一定要好好认真重新检查代码。可是到了晚上下班,他也没解决掉bug,无奈,得加班了,加了班,还是无果啊。哎,回去泡杯奶茶睡觉吧。

 

第二天,早上他习惯早来上班,也习惯性打开程序代码,随手敲敲写写。突然,他完全呆住了。。。。。。。他发现了bug的问题在哪儿了,竟然是代码少了一个“,”逗号。。。。。。世间无爱,瞬间崩溃

 

posted @ 2016-01-28 13:47  蓝色咖啡屋  阅读(291)  评论(0编辑  收藏  举报
韦小明(email:3301526363@qq.com)