asp.net-mvc – 基于复杂模块使用ASP.NET MVC 2在DB中创建新记录
我有一个非常棘手的问题需要我解决,我想了很多,然后又找到了一个我要提到的结论.
问题是我有一个客户想要创建一个基于Common功能的网站,所以我们称之为模块,所以我认为使用MVC Contrib Portable Areas,这是插入模块的好主意,但我有一个很大的问题,让我们说我创建了一个Blog模块,它将在他想要的新网站中实现,现在一些用户有独特的要求,比如其中一个需要为每篇文章添加图片库,或者每篇文章中的参考列表. ?在正常情况下,如果您有一个站点可以工作,这很容易,所以您需要做的就是 >将具有外键的新图库表添加到Blog表. 但在我的情况下,由于两个原因,它很复杂,而且时间繁琐 >如果新功能很酷 这就是为什么作为解决问题的第一步,我使用Portable Areas为每个模块创建插件,现在这肯定会通过为每个新模块或插件拖动1个DLL来简化我的工作,但我在这里有一个小问题, >因为新的模块或Addin是一个 现在到模块插件特有的最大问题:) 首先在安装过程中我将为Gallery Addon创建一个表,但是我将创建一个手动外键,而不是创建外键关系,当我使用创建记录创建记录时,将通过在主模块控制器中生成唯一ID来填充该外键.下面的代码然后将它存储在ViewData中,并在创建新记录时将其传递给Addon Controller, private string GenerateId() { long i = 1; foreach (byte b in Guid.NewGuid().ToByteArray()) { i *= ((int)b + 1); } return string.Format("{0:x}",i - DateTime.Now.Ticks); } ViewData["FK"] = GenerateId(); 但这是我的担忧 >这种方式是可行的还是简单的 如果我的问题很蹩脚,我感到非常抱歉,但这是最好的问题,我想很多人都希望有这样的功能,希望有人能回答我 解决方法
我认为这是一个很好的问题.前一段时间我开始使用MVC1开发一个CMS项目,我想支持插件.我有它的工作,以便管理员可以将新的插件程序集放入bin文件夹,然后下一个应用程序启动,它将扫描所有程序集的IPlugin(或其他)并加载它们.我将部分视图嵌入到插件程序集中,因此它都是自包含的.当每个插件放在页面上时,每个插件都被赋予一个唯一的标识符,插件的控制器知道如何使用该ID来查询它自己的表(存储库)以获取它的数据.主应用程序对插件的架构一无所知.
这里唯一的区别是,听起来你会在同一个数据库上运行多个网站,你需要区分每个网站所需的插件实例.我假设某个地方你有一个指示它是哪个网站的密钥,可以通过外键使用,只为该网站选择该用户所在页面的插件. 我不确定这是否是一个答案,我只是在大声思考.希望它能帮助讨论一点. 编辑:为了自动加载插件,我使用NInject的功能来扫描IModules的程序集.我的IPlugin继承自Ninject.Modules.INinjectModule,所有插件都实现了IPlugin接口.然后在应用启动时,我有以下行: kernel.Load( "*.Plugin.dll" ); kernel是Ninject.IKernel,并且该行将扫描与该文件模式匹配的任何程序集,因此我可以放入像Weather.Plugin.dll这样的程序集. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – ASP.NET MVC – 什么是UrlRoutingModule?
- 从ASP.Net MVC连接到MySQL数据库
- asp.net-mvc – 如何在asp.net mvc中从https跳出到http模式
- asp.net-mvc – Web API,OData,$inlinecount和测试
- asp.net-mvc – 为一个MVC视图使用两个强类型模型
- asp.net – Orchard CMS如何进行日志记录?
- asp.net-mvc-4 – 编辑视图中多选列表框的超级简单实现
- 在asp.net中将用户变量存储在数据库与会话中
- 在ASP.NET MVC 3中上载大于2GB的文件
- asp.net-mvc – 是否可以在Visual Studio 2013中使用asp.ne
- ASP.NET Core技术研究-探秘依赖注入框架
- asp.net – 从Web应用程序打印
- asp.net – 在PostBack期间Recaptcha消失
- asp.net – 匿名类型列表
- asp.net-mvc – ASP.NET MVC报告
- asp.net-mvc – 绑定动作参数以在ASP.NET MVC中请
- asp.net – 缓存SELECT语句的结果,以便在多个查询
- asp.net-mvc – 在MVC身份(2.0.1)中的regenerate
- asp.net-mvc – ServiceStack.Factor模块列表中有
- asp.net-mvc-3 – ASP.NET MVC – 如何防止双击提