国外windows主机要注意权限级别
Request failed.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Exception: Request failed.
经过多方的排查,发现是由于xslt文件中包含有msxsl:script脚本的原因造成的,进一步细究,发现执行msxsl:script需要代码执行权限为full trust,而在godaddy的虚拟主机中,代码执行权限为Medium。
郁闷啊,我不太可能因为这样而放弃在xslt中执行script,因为如果不能执行script,那么xslt的开发难度将大增加,所以只好选择其它主机了。最让人郁闷的是,我刚刚在godaddy续费,早知如此,就不去他们家续费了。
随后,我又发信去godaddy和lunarPages咨询关于full trust level的事情,得到的答复是godaddy不支持,而lp是可以支持full trust的,godaddy的主机是.net 1.1支持full trust level,而lp的主机则是完全支持的,那然后我也是花了一天的时间,去找关于full trust的主机,需要这个功能的朋友注意了。
哪些美国主机可以支持Full Trust Level?
ixWebHosting 其实之前我也试过他们的主机,但是说句实在话,速度和稳定性方面实在是不也恭维,我当时是冲着15个IP去的,价格上要比godaddy略高,但加上送的15个IP以及3个免费域名,价格肯定要优于godaddy了,单单是15个独立IP,就值$2*15*12=360美元了。但从我试用并监测二十来天的情况下来看,我个人认为ix的windows主机,基本上可以不考虑。
LunarPages 我没有用过,没有发言权了,但idcspy的版主说最近速度有些慢,也不推荐购买
arvixe.com 这个公司好像在网上没什么消息,中文有几篇文章都是说好的,不排除是托,也极有可能是中国人在国外搞的小主机公司,但有一点,他们是支持Full Trust Level的,有用过这个公司主机的朋友留下言。
WebHost4life 这个公司比较有意思,他们有中文的客户混在idcspy论坛里,使用的人好像也不多,但可以肯定的是,支持full trust level的。
最后一招,自己买VPS/VDS或者独立主机了,目前godaddy的vds一年大概要两千多吧,windows主机最起码也得买512内存的了,太小了根本跑不起来,谁让windows系列产品都是吃内存大户呢。其它的也有便宜的,但我觉得应该要在2500-3000这个级别才可以用。
此外为了服务器安全,很多国外的Asp.net虚拟主机(比如GoDaddy)都把设置代码执行权限设置为Medium Trust Level,这时候,与Full Trust Level不同,Asp.net程序会有很多限制。如果你正在开发通用的Web产品,比如BBS、Blog、CMS、Portal,那么为了让产品能更大程度适应各种运行环境,你需要考虑到Asp.net中等安全模式的相关问题。
什么是中等安全模式?
Asp.net通过信任级别(Trust Level)设置代码执行权限,默认有5种,分别是:Full、High、Medium、Low、Minimal。虚拟主机提供商通常在系统的 machine.config配置了<system.web><trust level=’Medium’ />…
常见异常信息:
Required permissions cannot be acquired.
Description: An unhandled exception occurred during the execution of the current web request.
Please review the stack trace for more information about the error and where it originated in the code.
SecurityException: Request for the permission of type ‘System.Security.Permissions.ReflectionPermission failed
或者:
System.Security.SecurityException: Request for the permission of type ‘System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089′ failed.
中等安全模式有哪些限制?
CodeDom、Emit以及基于CodeDom、Emit实现的Ioc、AOP技术无法使用。
VirtualPathProvider无法使用。
BuildProvider无法使用。
HttpWorkRequst无法使用。
OleDb无法使用。默认情况下Access数据库无法使用,不过GoDaddy可以通过管理面板将Access访问权限开启。
P/Invoke无法使用。System.Data.SQLite及sqlite-net都 是通过P/Invoke调用C语言版本的SQLite.dll实现的,因此也不能使用了。
ReflectionPermission及RestrictedMemberAccess无法访问,导致Ado.net for Entity Framework、DB4O,以及好多ORM工具无法使用。
一些常见问题的解决办法
SQLite无法使用:可以使用Access或VistaDB作为替换。
BlogEngine.net默认安装时出错:只需将Web.config中的<system.web><trust level=’Medium’/>删除即可。
LINQ to Entities / ADO.NET Entity Framework无法使用:参考http://mosesofegypt.net/post/Entity-Framework-minimum-permission-considerations.aspx
Discuz!net无法使用:使用YetAnotherForum代替。
附上国外主要的Windows虚拟主机商
- 监察机关的权限有哪些
- 需要权限才能删除文件夹的解决办法
- 10款美白淡斑套装排名,瓷肌雪颜亮白祛斑7件套是国家认证级别
- 三星Tab4怎么Root?三星Galaxy Tab4获取Root权限图文教程
- 国外十大古装美女明星排行榜,伊莎贝尔·阿佳妮获奖无数
- MX150显卡性能怎么样?MX150相当于什么显卡级别?
- GTX1030显卡性能如何?GTX1030显卡相当于哪个级别的水平(天梯图解答)
- 世界十大国外天体浴场排行榜,夏威夷天体浴场让你大饱眼福
- 国外足球球星女友颜值排行榜 第一名居然是范德法特老婆
- 华为AI音箱畅连通话拨打权限怎么设置?
- 低级别鳞状上皮内病变
- 如何对局域网共享文件设置访问权限、如何对不同电脑设置不同权限