[英]Communication between .net winform and webform
我需要使一個Web窗體與Winform通信並返回到該Web窗體。 原因是它已經存在一個已經制作的Webform軟件,現在需要僅可用於Winforms的.net組件的行為。 我們嘗試使用Process.Start和shell.execute,但是使用這種方法,軟件會掛起,或者響應時間太長。 還需要從網絡中的客戶端PC調用Webform,我認為這又增加了另一個問題,因為不可能從WebForm遠程調用文件的執行,但是我對該技術問題知之甚少
我們已經閱讀了一些有關將winform嵌入Web表單,將數據從Winform發送到Web表單等的文章,並且我們想知道處理這種情況的推薦方法(如果有)。
如果您有權訪問WinForms應用程序的源代碼,那么最好的方法是從那里提取所需的代碼,並將其直接合並到WebForms應用程序中。
如果WinForms和WebForms應用程序都需要使用此代碼,則應將兩者共享的代碼重構為一個單獨的類庫(DLL),然后由兩個應用程序使用。
如果您只有Windows應用程序的EXE,並且它是.Net應用程序,則可以使用Reflection
創建並使用在那里定義的對象。
如果不是.Net EXE,請再見,感謝所有的魚(除非是COM,在這種情況下,再見,感謝所有的魚)。
更新:我從未嘗試過,並且不推薦這樣做 ,但是我假設您基本上希望能夠在Web應用程序中使用基於Windows窗體的可視組件(即,您希望此內容顯示在他們的瀏覽器)。
您可以將原始WinForms項目中的每個Form
重建為一個ActiveX控件,然后將其放置在網頁上。 此鏈接描述了如何在.Net中創建基本的ActiveX控件:
http://www.codeproject.com/KB/cs/CreateActiveXDotNet.aspx
最近,我不知道瀏覽器是否支持ActiveX控件(我知道仍然有一些支持),並且這種方法在非Windows操作系統上肯定行不通。 此外,您還必須處理在每台客戶端計算機上部署和安裝可視組件的問題(並且您需要檢查許可協議才能獲得此控件-幾乎可以肯定,它將特別禁止這種類型的使用)。
從理論上講,這是可行的。 ActiveX控件可以或多或少地執行或使用常規Form可以執行的任何操作(取決於權限等)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.