解决Godaddy主机asp.net无法上传文件的问题
2019-03-22 04:20:01来源: 奥博科技 阅读 ()
Godaddy的WINDOWS主机,asp.net的信任模式为中等,如果是新站子站中使用文件操作将会出现无权限调用程序集的错误!相信很多朋友都曾尝试过很多办法,但结果非常令人失望,Godaddy不允许在Web.Config中修改信任模式,有的朋友将asp.net的版本设置为1.1,这样就可以使用完全的信任模式。那我们的程序是.net2.0甚至是.net 4.0的怎么办呢?
以下我就会通过一个文件上传的例子来说明如何解决Goddady主机的无权限调用程序集的解决办法!
如果在子站中上传文件,就会提示没有I/O操作的权限,如下图:
AllowPartiallyTrustedCallersAttribute 特性允许部分分受信任的代码调用某个程序集,该特性位于System.Security命名空间下。
只能用于程序集,只要我们为程序集添加该特性,那我们的代码就能调用System.Security.Permissions.FileIOPermission程序集。
代码如下:
using System.Reflection;
using System.Security;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的常规信息通过下列属性集
// 控制。更改这些属性值可修改
// 与程序集关联的信息。
[assembly:AllowPartiallyTrustedCallers]
[assembly:AssemblyCompany("OPSoft Inc.”)]
[assembly:AssemblyProduct("OPSite.Web”)]
[assembly:AssemblyCopyright("版权所有 (C) www.ops.cc 2011")]
我们需要添加粗体部分到我们的程序集信息文件中。现在我们可以再试试上传功能,发现存储文件的时候:
Server.MapPath("~") 返回的路径已经是根目录了,那子站的文件上传到根目录肯定没有这个权限的!
可以使用AppDomain.CurrentDomain.BaseDirectory 获取当前程序集的目录路径。
这样asp.net就可以完美的在goddady的子站中上传文件和I/O操作了!
文章由www.ops.cc站长撰写。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 亲身经历:3天解决网站被百度网址安全中心拦截的方法 2019-12-13
- 亲身经历:3天解决网站被百度网址安全中心拦截的方法 2019-12-13
- 怎样解决微信公众号内容营销转化率低的问题? 2019-04-10
- 网站没收录,很烦心?解决一个关键因素,网站一个月上百度首 2019-04-10
- 【熊掌号】据说这篇文章能解决80%的收录疑惑 2019-04-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash