0

どのように最も理にかなっていますか?私はASP.NETアプリを持っています...そして将来的にはSilverlightアプリかもしれません..両方ともWebサービスと通信したいです..

最初は、WCFプロジェクトを単独で分離するのが好きです。

しかし、私は考えました。既存のWebサイトプロジェクトのすべての.svcファイルとコードを含む「WEBSERVICES」フォルダーを同じように簡単に作成できるので、ポイントは何ですか。...少なくともその方法..すべてが1つのプロジェクトに含まれているため、リモートホストへのデプロイは少し簡単になります。

その他の考慮事項はありますか?

4

2 に答える 2

0

持っていない理由:

  • Contractsアセンブリ内のWCFサービスとデータコントラクト
  • Servicesアセンブリ内のWCFサービスの実装
  • WebサイトまたはWebアプリからこれら2つのアセンブリを参照します
  • *.svcファイルをWebServicesディレクトリに配置します

そうすれば、あなたは

  • 関心の分離がクリーンで適切に整理されている
  • デプロイメントファイル(* .svc)は、必要に応じてWebサイト/Webアプリにあります
  • 後で大騒ぎせずに、他の方法(セルフホスティングなど)でWCFコードを拡張/使用することもできます。
于 2010-03-30T20:27:06.300 に答える
0

考慮すべき2つのこと:

セキュリティ-サービスはアプリケーションでのみ使用されるのでしょうか、それとも他の場所で使用される可能性があるのでしょうか(結局のところサービスです)。その場合、Webサービスへのアクセスを許可するためにアプリケーションへのアクセスを許可するか、少なくともその特定のフォルダーへのアクセスを微調整します。これにより、セキュリティ違反が発生する可能性があります。

デプロイ-契約に違反しないサービスに変更を加える場合、変更をデプロイするには、アプリケーション全体をデプロイする必要があります。

Marcが提案したアプローチ(たとえば、契約用のアセンブリ、サービス実装用のアセンブリ)を使用し、Webサービスを独自のアプリケーションとしてホストし、ASP.NETアプリから参照することをお勧めします。このようにして、関心の分離を適切に行い、両方を別々に維持できます。

于 2010-03-30T20:34:52.457 に答える