[英]create application on different web site in IIS on different machine
我們正在構建一個asp.net系統,用於發布基於.net的Web服務。
它有一個簡單的邏輯:App_Data文件夾下有很多Web服務模板。
例如,我們的應用程序URL為: http://localhost/serviceManager
這是我們應用程序的文件夾:
App_Data
ws1.zip
ws2.zip
Bin
modules
service
web.config
注意:如果首次訪問此系統,我們將檢查iis中的“服務”目錄是否為“應用程序”。 如果沒有,我們會做到的。
通過我們的系統,用戶可以逐步填寫一些必需的信息(特別是服務名稱,例如“測試”),我們收集它們以備后用。
然后在service
目錄下創建一個名為test
的文件夾,然后找到相應的Web服務模板(例如ws1.zip),將內容提取到test
文件夾中,然后相應地修改web.config文件中獲得的信息。
最后,我們將test
設置為IIS中的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.實施集群(尤其是對於創建的服務)
由於創建的服務是面向大眾的,因此出於性能考慮,客戶端需要集群。
但是我們找不到像IIS群集那樣的weblogic
東西,因此我們認為唯一的方法是在創建服務后復制服務並將其放置在具有相同端口和虛擬上下文名稱的另一台服務器(群集節點)中。
如果是這樣,我們需要在不同機器的iis中創建“應用程序”作為我的發布主題。
我們現在不知道,有人可以給我們一些建議嗎?
順便說一句,我們必須支持iis6-iis7.5。
我是這個問題的追問者。
到目前為止,我們還沒有找到完美的解決方案。 但是我們做了一些工作。
我們的asp.net應用程序已打包為窗口安裝程序。 安裝該應用程序后,將完成一些必要的工作:
1在不同端口創建兩個網站,例如8000(用於服務管理器)和8001(用於創建的服務)。
2將網站8001的根目錄設置為Windows共享文件夾。
3部署一個名為IISManager
的iis應用程序。 該應用程序是一個Web服務,它將在網站根目錄下創建一個文件夾作為IIS應用程序。
現在,當用戶訪問以下內容時:
http://ip:8000/servicemanager
,然后根據模板創建服務。
我們將做以下事情:
1通過窗口共享文件夾將提取並配置的文件夾復制到其他群集節點。
2 IISManager
調用IISManager
服務,使步驟1中的文件夾成為IIS應用程序。
現在,如果步驟成功,我們就可以訪問新創建的服務:
http://ip:8001/servicename/service.asmx
那就是我們現在所做的。
但是我們仍然有很多問題:
1 IISManager
並非每次都運行,iis應用程序創建有時會失敗。
2在不同節點上創建的服務是完全獨立的應用程序,將很難完成某些會話共享工作。
我希望有人有更好的解決方案,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.