我即将开始一个新的项目,并想要一些关于如何实现的建议。
我需要一个网络应用程序,其中包含一个预订模块用于预约时隙,以及一个时间管理模块,将使员工可以打卡/打卡。
如果我正在编写时间管理模块的更新,我不想因为发布包含这两个模块的新解决方案而破坏预订引擎的可用性。
让事情变得更困难的是,还有一些共享的功能,比如普通用户、角色和安全性。
这是我得到的一个建议,听起来有点粗糙,但可能是实用的。编写一个“容器”web应用程序,它基本上由一个框架和身份验证/安全特性组成。然后有链接,将2个独立构建和发布的web应用程序加载到框架中。
我可以看到,如果我想要更新时间管理模块,我只需要单独构建和发布它,而解决方案的其余部分将是“原封不动”的。
有没有更好的选择?
发布于 2010-03-05 04:50:11
除非我遗漏了什么,否则如果您运行ASPX.net (v2,3,无论什么),您可以动态地替换ASPX文件(包括任何类文件),WEB服务器将自动“做正确的事情”。
因此,如果您将“模块”包装在类中,则可以随意替换这些文件,而不会损害其他类的功能(无需修改)。
当我重读这篇文章时,我越来越确信我误解了你的目标……
发布于 2010-03-12 13:18:12
听起来您想要的是类似于Composite Application Block的东西,但对于web应用程序( CAB是用于智能客户端应用程序)。
您想要做的主要事情之一是尽可能减少和抽象模块之间的耦合。
将会话保留在数据库中将有助于您动态地将模块加载到应用程序中。
这将允许您在一台服务器上进行时间管理,而在另一台服务器上进行预订引擎。当您更新一个服务器的功能时,您只需更新一个服务器,而另一个服务器继续为用户服务。
发布于 2010-05-30 21:35:45
向您的web应用程序添加两个类库。一个用于“预订模块”,另一个用于“时间管理”模块。编译后,您将为每个模块创建一个DLL,并将它们放在web应用程序的bin文件夹中(Visual Studio可以做到),然后您可以在需要时分别替换它们。
https://stackoverflow.com/questions/2378788
复制相似问题