0

我们的应用程序中有一个场景,我们需要编译代码并加载在内存中生成的 DLL。从我们的基础架构的角度来看,这部分是一个要求,我们无法改变它。

在内存中编译和加载 DLL 没有问题。但是,ASP.NET aspx 页面无法加载,因为 asp.net 无法找到内存中的引用/类型。

我只能想到两种可能的方法,但不确定哪一种是最实用的方法:

  1. 找到一种使用自定义 HTTP 处理程序自己编译和执行 aspx 页面或 ascx 控件的方法
  2. 找到一种方法在执行时将内存中的 dll 作为对 page/ascx 控件的引用进行链接。

我很欣赏你的见解...

4

1 回答 1

0

在我曾经工作过的一家公司,我们有一个“即插即用”架构,允许我们动态地将用户控件 (ascx) 添加到项目中,而无需在每次添加/修改控件时重新编译站点。

基本架构包括一个数据库表,其中包含每个动态控件的名称、dll 位置和 ascx 页面。每个控件都被编译成一个单独的 dll,并且该 dll 和 ascx 页面一起存储在文件系统中。每个控件还实现了一个接口,允许我们将其加载并呈现到页面中。

在每个页面的加载过程中,每当遇到界面时,我们都会使用LoadControl().

这是你想要做的吗?

于 2012-04-17T18:18:47.340 回答