3

ASP.NETWebアプリを作成するとします。あなたはそれが常に(通常のページとモバイルページを備えた)単なるウェブアプリになると思いますが、あなたは決して知りませんいつの日か、iPhone、iPad、Android、またはその他のアプリをクライアントとして使用したいと思うかもしれません。この可能性が0%の場合は、ビジネスレイヤーをDLLとしてパッケージ化し、クライアントからそれらを参照します。将来、これらの他のフロントエンドアプリの可能性が1%以上になる場合は、ビジネスレイヤーをWCFにパッケージ化し、http(つまり、サービス指向アーキテクチャ(SOA)、クライアントが利用できるサービスとしてのソフトウェア)を介して公開します。プラットフォームに関係なく)。

  • DLLプロ:速度/パフォーマンス。
  • DLL con: Microsoftクライアントのみが消費でき、クライアントにDLLが必要です。これは、DLLがクライアントアプリに埋め込まれている場合、データをビジネス層に移動して処理してから返すための長距離であることも意味します。
  • WCFプロ:拡張性..どのクライアントも消費できます。
  • WCF con:速度/パフォーマンス。

ソフトウェアアーキテクチャとは、パフォーマンスと柔軟性の適切なバランスを見つけることです。この場合、保険証券としてWCFを使用する必要があると思いますか?

4

3 に答える 3

2

WCFを使用する必要はありません。必要が生じ、BLLの機能を他のMicrosoft以外の種類に公開する必要がある場合は、新しいWCFサービスを作成できます。この新しいサービス内で、DLLのメソッドなどを公開するラッパーメソッドをServiceContractに作成できます。したがって、必要に応じて、DLLを作成し、将来そのためのサービスを作成できます。

于 2012-12-20T16:59:47.780 に答える
0

2つのオプションが思い浮かびます

  • ステートレスな大まかなパブリック メソッドを BLL に定義します。WCF サービスとして実行したい場合は、ライブラリを簡単にラップできます。
  • または、WCF として実装し、ローカルでホストする

2 番目のオプションは、概念実証に適しています。適切な説明は、http://msdn.microsoft.com/en-us/library/bb332338.aspxにあります。

于 2012-12-22T06:43:48.410 に答える
0

私の考えでは、ASP.NET Web APIを使用できます(または、少なくともリストに追加するには)。REST API を呼び出す Web サイトを作成でき、ネイティブ アプリからも利用できます。

詳細については、次の記事を確認してください。

于 2012-12-20T17:02:28.480 に答える