4

Winform の代わりに、Web ベースの GUI (組み込み Web サーバーを使用) を介してアプリケーションを管理できるフレームワークを探しています。

このようなもの: http://www.webtoolkit.eu/wt しかし、.NET の場合

私のコードでは、クラス (ボタン、フォームなど) をインスタンス化できる必要があり、ユーザーが特定のポートを参照すると、アプリはそれを javascript/ajax などとしてレンダリングする必要があります。私のコードを呼び出す必要があります。

これは、私が extjs について投稿した別の質問よりも具体的ではない質問です。より一般的であるため、これがより多くの視聴者を引き付けることを願っています

ありがとう。


アップデート:

カッシーニのようなソリューションは、法案に適合しません。Web ブラウザーはアプリケーションに組み込まれているため、ASP.NET サーバー側スクリプトは必要ありません。ページで何かが発生したときに、アプリケーション内で関数を呼び出すフレームワークが必要です。たとえば、 onButtonClicked() 。

4

9 に答える 9

3

System.Net.HttpListener クラスを組み込み Web サーバーとして使用できます。低レベルの処理は HttpListener が行いますが、Html/javascript/images を返すコードを自分で作成する必要があります。

アプリケーション自体に埋め込まれた Web サーバーに対して、GeckoFxを使用して Firefox を埋め込むという、自分自身の楽しみのためだけに試してみました。うまく機能しているように見えましたが、私のテストは非常に単純で限定的でした。

于 2009-05-22T08:16:23.077 に答える
2

Cassinniを組み込んで ASP.NET を使用するのはどうですか?

于 2009-05-22T07:35:46.310 に答える
2

独自のアプリケーションで ASP.NET ランタイムをホストし、LiveUI などの任意の Web UI フレームワークを使用できます。これを行う方法については、こちらを参照してください。

于 2009-05-29T05:44:55.703 に答える
1

アプリケーションがサポートできるフレームワークに制限されていますか?.NET 3.0以降を使用できる場合は、Windows Presentation Foundationを使用して、Web(xbappまたはsilverlight経由)と従来のWindowsフォームアプリケーションの両方をターゲットにすることができます。

アプリ間の通信に関しては、Windows Communication Foundation(WCF)が非常に優れています。

明確にするために、Casiniを使用してWebアプリをホストし、WCFを使用してアプリケーションと通信するか、xamlを使用してアプリケーションをマークアップし、Webアプリケーションと同じUIを持つ通常のWindowsアプリケーションの両方として公開します。

于 2009-05-30T20:14:51.890 に答える
1

ASP.NET を (開発サーバーまたは cassini を使用して) 使用できれば、タスクはより簡単になります。このアプローチを強くお勧めします。この場合、liveui、componentart、または teleric を使用できます。liveui は、3 層の Web アプリケーションを実装するための Extjs ベースのフレームワークを提供します。componentart と teleric は、優れた ASP.net コントロールを提供します。

一方、webui はおそらく ASP.net インフラストラクチャがなくても httpHandler として機能します。しかし、1 潜在的なパフォーマンスの問題 2 複雑で柔軟性のないプログラミング モデルであるため、webui の使用はお勧めしません。

于 2009-05-29T05:18:55.037 に答える
0

私はずっと前に、基本的にWebブラウザコントロールを備えた.NET2.0プロジェクトを実行しました。
WebBrowserコントロールにそのDocumentプロパティを介してhtmlをフィードし、navigateイベントをリッスンして、リソースからHtmlを取得(または即座にビルド)して、WebBrowserコントロールに再度フィードします。

ここで、楽しみはObjectForScriptingプロパティから始まります。これにより、htmlページが次のようなJavascriptを介して.NETオブジェクトと通信できるようになりますwindow.external.SomeNetFunction(bla)。で使用されるクラスに属性
を追加することを忘れないでください。ComVisibleObjectForScripting

これがあなたが探しているものであることを願っています。このソリューションでは、ナビゲートできるWebページがあり、JavaScriptを介してアプリと通信することもできます。(このように、AIRの.NETバージョンに近づくことができます...)

于 2009-05-25T17:59:57.253 に答える
0

実行中の WinForms コードを HTML に自動的に変換したい場合は、すでに深海にいます。私はVisual WebGuiで同様のことを行いましたが、コードを変更する必要があり、基本的に ASP.NET アプリケーションを生成します。実行するには実際の Web サーバーが必要です。

Cassini のオプションが気に入らないようです。これもWeb サーバーなしで機能することを期待している場合は、「そんなことはありません」というのが簡単な答えだと思います。

比較的単純なインターフェイスを使用している場合は、既存のフォームから、または最初から HTML コードを動的に生成し、System.Net.HttpListener を使用するのがおそらく最善の策だと思います。

于 2009-05-25T12:55:07.347 に答える
0

DevExpress には、必要な機能を備えた製品があります。あなたはそれのために分岐する必要があります...

http://www.devexpress.com/Products/NET/Application_Framework/

于 2009-06-01T07:05:07.667 に答える
-4

代わりに Linux ルートを使用し、組み込みの httpd や boa などに依存してサイズを抑えることをお勧めします。Windows を組み込みシステムで実行することはお勧めできません。肥大化やセキュリティ ホールが多すぎます。LinuxまたはRTOSを使用することをお勧めします。

于 2009-05-22T07:11:55.833 に答える