7

何を使用すべきかを一日中検索した後、自分のニーズに最適なオプションがわからないので、経験豊富な人が助けてくれることを願っています.

winformsアプリケーション ( c#) とASP.NET MVC 4Web アプリケーション ( )がありc#ます。これらを接続したいのですが、目標は、プロジェクトで使用するデータベースからデータを送受信することですMVC 4が、Windowsフォームアプリケーション内からです。Windows フォーム アプリケーションからデータベースに送信したデータは、MVC 4Web アプリケーションで使用されます。

私は Web サービス / にまったく慣れてWeb Apiいないので、どのオプションが最適かを実際に判断することはできません。どんな助けでも大歓迎です..

4

6 に答える 6

1

またはナンシーのような軽量のもの: http://nancyfx.org/

于 2013-09-26T12:51:49.127 に答える
1

使用したタグを考えると、SOAP Web サービスと WCF のどちらかを決定していると思います。これら2つを考えると、私はWCFに行くと言います。SOAP Web サービス (Visual Studio で実装) は古いテクノロジです。まだ使用可能ですが、WCF は古い SOAP サービスが実行できるすべてのこと (SOAP サービスとまったく同じように見えることを含む) などを実行できます。

Web サーバーをデータベース サーバーに接続する Web サービスがある場合 (これら 2 つのものは別のマシンに配置する必要があります。Web サーバーは必要に応じて世界に公開されますが、DB サーバーは Fort Knox のようにロックダウンする必要があります)、私は内部の WinForms アプリケーションに同じサービスをそのまま使用しない理由はありません (LAN/VPN を使用して DB サーバーのサービス層にアクセスします)。インターネット経由でデータにアクセスする必要がある WinForms アプリケーションの場合、安全な暗号化データ転送をサポートする WCF サービスとしてサービスを再実装することをお勧めします。また、HTTPS 接続のみを受け入れるようにサービス エンドポイントを設定して、既存のサービスを SSL/TLS 経由で実行することもできます。

何を選択するかは、主に、問題の解決にどれだけの時間リソースを費やすことができるかに依存します。HTTPS への移行は、コードの変更がほとんど必要ない迅速な修正ですが、WCF での再実装には時間がかかりますが、単純な安全なトンネルを超えた追加のセキュリティ対策が可能になります。

于 2012-12-10T16:08:16.507 に答える
1

MVC4 WebApi に問題があり、Web クライアントにはサーバー側の JavaScript/AJAX でServiceStackを使用し、シック クライアントにはRestSharpを使用することになりました。

具体的な問題の 1 つは、ドキュメントを自動生成できないこと、パフォーマンスに大きな違いがあること、ユニット/統合テストのサポートが改善されたことです。

于 2013-10-01T23:09:31.393 に答える
0

具体的に を提唱するのではなく、またはWCFをお勧めします。pureを選択すると、データベースから情報を取得し、その情報をクライアントに送信する処理を行うために大量のコードを作成することになることがわかります。最初はそれほど悪くはありませんが、データベースに約 30 個のエンティティがあると、純粋なソリューションにすぐに飽きてしまいます。WCF Data ServicesODataWCFWCF

OData素晴らしいです。 を使用Entity Frameworkし、既存のデータベースまたはこれから作成するデータベースのデータ操作をすばやく開きます。サービスを安全にすることができれば、開発時間を大幅に節約できます。データ応答の形式は柔軟です。他のプログラミング言語用に移植されたクライアント ライブラリも多数あります。

サービスを保護する手順は非常に簡単です。常に にデプロイしhttpsます。すべてのログインまたは登録メソッドは、トークン (暗号化された値) を返す post メソッドである必要があります。または、暗号化して後続のリクエストのために送り返すことができる一意のシークレットである必要があります。トークンを使用し、トークンに有効期限を設定することをお勧めします.. そうしないと、サービスとアプリの両方がモバイルまたはデスクトップの両方で、共有の暗号化/復号化方法が必要になるためです。

于 2013-09-30T15:25:26.573 に答える