问题描述
虚拟主机不给temp目录的权限,然后百度到说:Web服务的序列化代码会被解析到系统环境的(TEMP也许是TMP)临时文件夹,因此你需要创建global.asax文件并且在Application_Start中添加如下代码:Environment.SetEnvironmentVariable(“TEMP”,”d:webrootxxxx.comwwwroottemp”);然后,我txt打开global.asax只有一行<%@ApplicationInherits="wqcms.Global"%>怎么添加那句代码呢???
解决方案
解决方案二:
“/”应用程序中的服务器错误。拒绝访问。(异常来自HRESULT:0x80070005(E_ACCESSDENIED))说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:System.UnauthorizedAccessException:拒绝访问。(异常来自HRESULT:0x80070005(E_ACCESSDENIED))ASP.NET未被授权访问所请求的资源。请考虑授予ASP.NET请求标识访问此资源的权限。ASP.NET有一个在应用程序没有模拟时使用的基进程标识(通常,在IIS5上为{MACHINE}ASPNET,在IIS6上为网络服务)。如果应用程序正在通过<identityimpersonate="true"/>模拟,则标识将为匿名用户(通常为IUSR_MACHINENAME)或经过身份验证的请求用户。要将ASP.NET访问权限授予某个文件,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示ASP.NET帐户,选中所需访问权限对应的框。
解决方案三:
顶。。。。。
解决方案四:
你都没权限你怎么知道d:webrootxxxx.comwwwroottemp这个目录是存在的?
解决方案五:
我在FTP自己创建了一个空白目录。。
解决方案六:
引用3楼shingoscar的回复:
你都没权限你怎么知道d:webrootxxxx.comwwwroottemp这个目录是存在的?
我在FTP自己创建了一个空白目录。。
解决方案七:
protectedvoidApplication_Start(){Environment.SetEnvironmentVariable(“TEMP”,”d:webrootxxxx.comwwwroottemp”);}
解决方案八:
系统的临时目录一般不会给权限,一旦网站中毒就会威胁主机安全,人家当然不肯你的程序一般以AspNet用户运行的,没有修改权限,也改不了环境变量将你的需要xml预序列化的程序集预先序列化就没那问题了(好像.Net4.5里已经解决此问题)方法也很简单,选中目标工程>属性>生成>生成序列化程序集(最下面)>开另外,你也可以用命令行手动生成预先生成后,运行时就不会再动态生成.cs类文件动态编译,性能也会更好
解决方案九:
这里的百度坑爹呢。
解决方案十:
对于asp.net应用来说,你的文件(包括临时文件)要放到~/app_data目录下(包括子目录下)。某些虚拟主机,可能给你一个“上一层”目录空间,例如允许你访问vardir=System.IO.Path.Combine(Server.MapPath("~"),"..","database");
这类的目录。但是前提是,它确实有这个自动创建的目录。你百度,肯定被坑。如果不想用asp.net正规方法,而偏要用服务商给你的目录,那么就问服务商。不要问百度。