我们正在构建一个 asp.net 系统,用于发布基于 .net 的 Web 服务。
它有一个简单的逻辑:我们在 App_Data 文件夹下有多种 Web 服务模板。
例如,我们的应用程序 url 是:http://localhost/serviceManager
这是我们应用程序的文件夹:
App_Data
ws1.zip
ws2.zip
Bin
modules
service
web.config
注意:当第一次访问这个系统时,我们会检查“服务”目录是否是iis中的“应用程序”。如果没有,我们会成功的。
通过我们的系统,用户可以逐步填写一些需要的信息(尤其是服务名称,例如“test”),我们将它们收集起来以备后用。
test
然后我们在该目录下创建一个名为的文件夹service
,然后我们找到相应的Web服务模板(例如ws1.zip),将内容提取到该test
文件夹中,然后我们根据我们得到的信息修改web.config文件。
最后我们在 IIS 中设置test
为 a 。application
现在我们的应用程序的文件夹将改变如下:
App_Data
ws1.zip
ws2.zip
Bin
modules
service
test
App_Data
service.asmx
web.config(filled with gathered information)
web.config
并且部署了一个新的 Web 服务,我们可以使用它来访问它:
http://localhost/serviceManager/service/test/service.asmx (note,the service.asmx exist in every template)
这是我们目前所能做的。
然而,客户现在有进一步的要求:
1. 将管理器系统与创建的服务分开。
由于客户希望将创建的服务映射到 Internet 并将我们的管理器系统仅保留在 Intranet 上,这是为了安全起见。
如您所见,创建的服务放在我们的管理器应用程序下。我们需要将它们部署在不同的端口(在 iis 中,不同的端口意味着不同的网站,不是吗?)。
例如,我们的应用程序 url 不会改变:http://localhost/serviceManager
但是创建的服务会变成这样:http://localhost:8888/service/test/service.asmx
2.实现集群(尤其是创建的服务)
由于创建的服务是面向大众的,所以出于性能考虑,客户端需要集群。
但是,我们没有找到类似weblogic
IIS 集群的任何东西。因此,我们认为唯一的方法是在创建服务后复制服务并将其放在具有相同端口和虚拟上下文名称的另一台服务器(集群节点)中。
如果是这样,我们需要在不同机器的 iis 中创建“应用程序”作为我的帖子主题。
我们现在不知道,任何人都可以给我们一些建议吗?
顺便说一句,我们必须支持 iis6 - iis7.5。