最近要上一个.net的网站,而这个网站是采用xslt的,xslt中有使用到自定义脚本msxsl:script,但放到godaddy的服务器上去之后,却报出了黄页错误。

过错如下:

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虚拟主机商

国外windows主机要注意权限等级  国外 windows 第1张

转载请说明出处
知优网 » 国外windows主机要注意权限等级

发表评论

您需要后才能发表评论