前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >本人有生以来的第一篇博客,嘿嘿,就发这个吧, 怎样在虚拟主机上使用Castle框架的ActiveRecord

本人有生以来的第一篇博客,嘿嘿,就发这个吧, 怎样在虚拟主机上使用Castle框架的ActiveRecord

作者头像
用户1687945
发布2018-05-02 11:23:40
4590
发布2018-05-02 11:23:40
举报

        我在某个私人项目中使用了Castle 的 ActiveRecord.用起来那是真叫个爽,整个项目里楞是一句SQL语句都没有,嘿嘿。超级喜欢上了这个框架。直到有那么一次.....

        我在  www.51aspnet.net 里申请了一个免费的空间,然后把我的大作传上去一看,噢,不!他直接给了个黄色的出错页面,说什么没有权限! 我再本地试,怎么都是好的。无奈之下google之,发现 web.config里有个叫 <trust level="???">的配置节,默认是完全权限,即full,但是当我将它设置为普通即 <trust level="medium" />时,错误来了!本地也出错了。

       现在怎么办?看样子ActiveRecord不能在此空间使用。那让我数据库层全部重写?那不行,门也没有。于是,某菜鸟被逼无奈,只得引用Castle源代码,调试之,嘿嘿。这也算是本鸟第一hack开源框架哈哈,(以前的二次开发那不算),运气不错,不一会就跟到了,原来毛病在这里

\Castle.ActiveRecord\Framework\Internal\Visitors\XmlGenerationVisitor.cs 文件的1186行有这么一段:

代码语言:javascript
复制
/// <summary>
        /// Create a valid name from a type, without including all the version and public key
        /// information
        /// </summary>
        public static String MakeTypeName(Type type)
        {
            if (type == null) return null;
            
            //return String.Format("{0}, {1}", type.FullName, type.Assembly.GetName().Name);
            return String.Format("{0}, {1}", type.FullName, type.Assembly.FullName.Substring(0,type.Assembly.FullName.IndexOf(",") )   );
        }

       看来是反射类型名称时出现的权限错误。改成象我这样再编译一下,再上传虚拟主机,成功!哈哈,祝贺我的首次Hack大功告成

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2008-12-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
轻量应用服务器
轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门开源软件打包实现一键构建应用,提供极简上云体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档