.NET 中基於internet的部署

來源:互聯網
上載者:User
要使用此部署,客戶機必須有.net framework 並且要有一個internet串連.此外,用於部署的系統必須是一個安裝有.net 和iis 的web伺服器

被部署的應用程式放在伺服器上的一個目錄中,可以用一個url來定位。然後,應用程式可以通過以下二種方式之一來啟動:
在WEB頁面上單擊指向伺服器上應用程式的啟動EXE的連結。
使用一個小“啟動程式”應用程式指向伺服器上的主應用程式。這個啟動程式實際上是指嚮應用程式的一個本地捷徑。
此二者都是從internet上下載應用程式並在本地執行.

以下是具體步驟:
1:嚴格按照開發windows表單應用程式的方法構建表單應用程式
2開發完成後,為應用程式中的所有windows表單項目更改編譯選項以建立一個DLL檔案.假設我們已建立了一個AppDll1.dll.
3將包含應用程式的所有DLL複製到一個WEB檔案夾中.這包括應用程式的用於啟動WINDOWS表單的DLL, 以及應用程式所需組件或其他DLL.
4:建立啟動程式,主要使用了反射功能.開始一個新的應用程式.在表單上放一個按鈕.代碼如下:
using System.Reflection;
try
{
string sUrl=“htpp://mywebserver/myapp/appdll1.dll“;
Assembly objAss=Assembly.LoadFrom(sUrl); //獲得程式集
Type formType=objAss.GetType(“MyProjectName.StartForm“); //獲得程式集中清單中的類型
object obj=Activator.CreateInstance(formType); //根據類型動態建立一個對象
Form f=(Form)obj;
f.Show();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}

當我們啟動應用程式時,看一下後台所發生的事性:
啟動時,它請求從客戶機上尚未存在的程式集載入類,此時將自動從部署WEB伺服器上擷取程式集並放到本地客戶機上.它駐留在客戶機的應用程式下載快取中.一旦將程式集放置到客戶機上的應用程式下載快取中,就可以從程式集載入和運行類.這包括所有必需的表單(表單也是一個類).或所有其他屬於應用程式的對象.我們可以查看下載了哪些程式集:
> gacutil /ldl   此命令列可以查看客戶機上下載程式集清單

應用程式由從WEB伺服器載入的表單控制,它可以根據需要執行操作和載入其他的表單.如果從同一個程式集載入另外的表單,那些表單會自動載入而不需要任何特殊邏輯.
當.NET 在下載快取中尋找程式集時,如果找到了,那麼它會檢查程式集的版本.同時還在WEB伺服器上檢查相同程式集的目前的版本(如果internet串連可用).如果在WEB伺服器上存在程式集的新版本,則將該新版本下載快取並代替原來的版本以進行使用.這使得自動部署會自動執行.
如果應用程式離線工作模式(internet不可用).那麼將會跳過目前的版本測試.並在下載快取中使用原來版本.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.