実際、私は混乱していて、本当にアドバイスが必要です。過去に、web.config で接続文字列を指定してから、ホスティング会社のサイトにデータベースと Web ファイルを展開するさまざまな Web アプリケーションを開発しました。今、ウィンドウデスクトップアプリの開発を開始しましたが、ホスティング会社がデータベースへのリモートアクセスを許可していないため、デスクトップアプリケーションをサーバー上のデータベースに接続する方法がわかりません。だから私はGoogle検索を試してみましたが、 wcf を使用できることを知りましたが、開始するのに最適な方法と、wcfがこれを行う方法である場合はどうすればよいかについてのアドバイスが本当に必要です..たとえば、取ることができますデスクトップアプリからサーバー上にあるデータベースに従業員名を保存する必要があるシナリオ。、はい、もう 1 つ質問です。Web アプリとデスクトップ アプリのサーバー上のデータベースの展開は同じですか? そうでない場合、デスクトップ アプリ データベースを展開するにはどうすればよいですか
4 に答える
私の意見では、実際に最善の方法は、WCF サービスを作成し、そのサービスにデータベースにアクセスさせることです。
したがって、デスクトップ アプリケーションはインターネット経由で WCF サービスに接続します。その WCF サービスは、データベースにアクセスするビジネス ロジック (ベスト プラクティスに従う場合はビジネス クラスに実装) を公開します。あなたのデスクトップアプリケーションは、データベースが存在することさえ知らないので、対処する接続文字列などはありません。データベースなどの複雑さを隠すWCFサービスに接続するだけです.
WCF は最初は少し気が遠くなる可能性があるため、誰かに助けてもらったり、指導してもらったりしてください。MSDN には、開始するのに適したチュートリアルがあります: http://msdn.microsoft.com/en-us/library/ee354180.aspx。
最初の実装を非常に複雑にしないでください。.NET 4 または 4.5 を使用して、大量の WCF 構成を必要としないようにします (.NET 3.5 では、WCF を適切に構成するために大量の XML またはコードが必要です。4.0 以降では、これを行うのがはるかに簡単になります)。
幸運を!
デスクトップ アプリケーションをサーバー上のデータベースに接続する方法がわかりません
SOAアーキテクチャを実装する必要があります。
しかし、私は本当にアドバイスが必要です.
それを行う方法は WCF だけではありません。asmx Webサービスでも実行できます。しかし、WCF はそれを行うための最良の方法です (私の意見では)。最初はなかなかつかめないかもしれませんが、一度つかめば、それだけの価値があると言えるでしょう。
たとえば、デスクトップ アプリからサーバー上にあるデータベースに従業員名を保存する必要があるシナリオを考えることができます。
保存の呼び出し例: Desktop --> BusinessRule --> Service Call --> Data Access --> Save in db
これが最も簡単で、最も簡単な方法です。
Web アプリとデスクトップ アプリのサーバー上のデータベースの展開は同じかどうか
同じです。
この質問に答えがあることは知っていますが、特に外部クライアントに製品を提供している場合は、コーディングのルートをたどる前にフレームワークを選択することがいかに重要であるかを表現することは非常に重要だと思います. Web サービス開発用のクローズド フレームワーク (WCF など) にコミットすることについては、よく考えてください。製品の開発中または将来のサポート中にフレームワークの問題が発生した場合、製品を開発および保守する能力を著しく妨げる可能性のある制約にすぐに縛られます。実際のコードに直接アクセスできる方がはるかに優れており、さらに重要なのは、問題を修正するために変更を送信できることです。
Web サービスの実装を簡単にするフレームワークとして、 ServiceStackまたはNancyFXを検討してください。
WCF / WebAPI ルートに進む前に確認してください。後悔することはありません。
私もWCFに行きます。参入障壁が Web API の方がはるかに低いのは事実ですが、WCF ははるかに高い柔軟性を提供します。
WCF では、トランスポートを自由に選択できます。
- サービスにアクセスするために他のアプリケーションが必要ない場合は、カスタムのバイナリ形式の TCP 接続を使用できます。
- アクセスする他のアプリケーションが必要な場合は、SOAP/JSON ベースの HTTP 接続をそれらに提供できます (ただし、アプリの高速 TCP を維持することもできます)。
WCF では、承認の管理方法を柔軟に決定できます。
- 認証と暗号化に証明書を使用して、プロセスをかなり安全にし、エンドユーザーから見えないようにすることができます。
- 構成ファイルでユーザー/パスワードを使用して基本的な HTTP 認証を使用できます。
- 匿名アクセスを許可できます
WCF について理解するには少し時間がかかりますが、理解すれば非常に強力なツールです。