【问题标题】:create application on different web site in IIS on different machine在不同机器上的 IIS 中的不同网站上创建应用程序
【发布时间】:2012-07-08 02:19:00
【问题描述】:

我们正在构建一个 asp.net 系统,用于发布基于 .net 的 Web 服务。

它有一个简单的逻辑:我们在 App_Data 文件夹下有多种 Web 服务模板。

例如,我们的应用程序 url 是:http://localhost/serviceManager

这是我们应用程序的文件夹:

App_Data
   ws1.zip
   ws2.zip
Bin
modules
service
web.config

注意:当第一次访问这个系统时,我们会检查是否 “服务”目录是 iis 中的“应用程序”。如果没有,我们会成功的。

通过我们的系统,用户可以逐步填写一些需要的信息(尤其是服务名称,例如“test”),我们收集起来以备后用。

然后我们在service目录下创建一个名为test的文件夹,然后我们找到相应的web服务模板(例如ws1.zip),解压到test文件夹的内容,然后我们修改web .config 文件对应我们得到的信息。

最后我们在 IIS 中将test 设置为application

现在我们应用程序的文件夹会像这样改变:

App_Data
   ws1.zip
   ws2.zip
Bin
modules
service
  test
    App_Data
    service.asmx
    web.config(filled with gathered information)
web.config

并且部署了一个新的网络服务,我们可以使用它来访问它:

http://localhost/serviceManager/service/test/service.asmx (note,the service.asmx exist in every template)

这是我们目前所能做的。

但是客户现在有进一步的要求:

1.将管理器系统与创建的服务分开。

由于客户希望将创建的服务映射到互联网,并将我们的管理器系统只保留在内网,这是为了安全。

如您所见,创建的服务放在我们的管理器应用程序下。我们需要将它们部署在不同的端口(在iis中,不同的端口意味着不同的网站,不是吗?)。

例如,我们的应用程序 url 不变:http://localhost/serviceManager

但是创建的服务会变成这样:http://localhost:8888/service/test/service.asmx

2。实现集群(尤其是创建的服务)

由于创建的服务是面向大众的,所以出于性能考虑,客户端需要集群。

但是,我们没有为 IIS 集群找到像 weblogic 这样的东西。所以我们认为唯一的方法是在创建服务后复制服务并将其放入具有相同端口的另一台服务器(集群节点)中,并且虚拟上下文名称。

如果是这样,我们需要在不同机器上的 iis 中创建“应用程序”作为我的帖子主题。

我们现在不知道,谁能给我们一些建议?

顺便说一句,我们必须支持 iis6 - iis7.5。

【问题讨论】:

  • 如果您解决了自己的问题,您应该发布答案;这将为您提供代表点数,并可能获得新的 SO 徽章。
  • @DourHighArch:事实上我们没有一个成功和完整的解决方案。但正如你所说,我可以发布我们所做的。

标签: asp.net iis concurrency cluster-computing load-balancing


【解决方案1】:

我是这个问题的提问者。

目前我们还没有找到完美的解决方案。但是我们已经完成了一些工作。

我们的 asp.net 应用程序已打包为窗口安装程序。安装应用程序后,将完成一些必要的工作:

1 在不同的端口创建两个网站,例如 8000(用于服务管理器)和 8001(用于创建的服务。

2 将8001网站根目录设为windows共享文件夹。

3 部署一个名为 IISManager 的 iis 应用程序。此应用程序是一个 Web 服务,它将在网站根目录下创建一个文件夹作为 IIS 应用程序。

现在当用户访问时:

http://ip:8000/servicemanager,并根据模板创建服务。

我们将做以下事情:

1通过window共享文件夹将提取并配置好的文件夹复制到不同的集群节点。

2一一调用IISManager服务,使step1的文件夹成为IIS应用程序。

现在如果步骤成功,我们可以访问新创建的服务:

http://ip:8001/servicename/service.asmx

这就是我们现在所做的。

但是我们还有很多问题:

1 IISManager 不是每次都有效,iis 应用程序创建有时会失败。

2 在不同节点创建的服务是完全独立的应用程序,很难做一些会话共享工作。

希望有人有更好的解决方案,

【讨论】:

    猜你喜欢
    • 2017-02-20
    • 1970-01-01
    • 2020-10-17
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-08
    相关资源
    最近更新 更多