4

WinForms GUI を備えた .Net (c#) アプリケーションがあります。それに加えて、ユーザーの自宅にある別の PC からアプリケーションを制御できるように、セカンダリ Web GUI を提供したいと考えています。

したがって、Web ページの一部 (値) は、アプリケーションによって入力される必要があります。

Web インターフェイスはすぐに使用できるため、ユーザーがサードパーティ ソフトウェアをインストールまたは構成する必要はありません。

これを実装する最良の方法は何ですか?

2 つ目の質問: これが実装されたら、サーバー上でアプリケーションを実行し、インターネット上の複数のユーザーにアクセスを提供したい場合、よりパフォーマンスの高い Web サーバーに簡単に移行できますか?

4

2 に答える 2

6

あなたが取ることができるいくつかのアプローチはここにあります:

軽量

Nancyのような軽量の Web フレームワークを使用してページを提供し、アプリケーション/データベースからデータを取得することができます。Nancy はどこでも実行できるように設計されているため、デスクトップ アプリの構築により適しています。Why use NancyFxを読むと、Nancy 構文の感触をつかむことができます。

Asp.net

Asp.net は通常 IIS で使用されますが、デスクトップ アプリケーションとして展開することもできます。この Lunar Frog のブログ投稿では、これについてどのように対処するかについて説明しています。公式インストーラーを使用してユーザーのマシンにインストールする必要がある IIS Express について言及しています。

Web アプリの開発をあまり行っていない場合は、Asp.net チュートリアルに従って、最初にダミー アプリを作成することをお勧めします。


私自身はどちらも使っていません。Asp.net は、ほとんどの C# 開発者にとって最初の選択肢であり、Web アプリの構造化について学ぶのに役立ちます。(REST、コントローラー、テンプレート/ビューなど) しかし、より軽量なソリューションは、より迅速に開始するのに役立ち、デスクトップ アプリにより適している可能性があります。

どちらのオプションも別のサーバーで実行できますが、ビジネス ロジックとデータベース ルックアップを 2 つのフロント エンド (Gui と Web) から分離するように注意してください。Nancy は、Linux 上で動作するとさえ主張しています。


また、データをテンプレートにレンダリングするか、JavaScript を使用してデータを取得するかを決定する必要があります。

テンプレート / ビュー エンジン

Asp.net と Nancy の両方に、 NHamlや TextTemplatingFilePreprocessorなどの独自の優先ビュー エンジンがあります。Nancy は、ここでサポートするものについて説明します。

Javascript & JSON

あるいは、JSON を返す API を構築し、Ember.jsKnockout.jsAngular.jsなどのフロントエンド JavaScript フレームワークを使用してそのデータを使用することもできます。

于 2014-05-16T14:38:32.180 に答える
1

Web API ( http://www.asp.net/web-api ) は、ここで必要なすべてを実現できます。

理想的には (そしてほとんどの場合)、WinForms アプリはそのすべてのデータを (できれば API を介して) データベースに戻す必要があり、Web Api は WinForms アプリではなくデータベースと対話します。

はい、将来的に Web API を他のサーバーに移動できます。

于 2014-05-16T14:14:43.997 に答える