2

安全なサーバー環境上にあるMVC4CodeFirstアプリケーションを開発しました。これは、フォームから情報を取得して処理します。

いくつかの「公開/外部」フォームをこれに提出させるという新しい要件があり、私は最良のアプローチを探しています。

フォームモデルは非常に複雑で深く、多くの継承があります。

既存の内部側の情報のセキュリティが最も重要であると述べられています。

そのため、データを取得するために、パブリックフォームを内部側に直接送信するWCF Webサービスを作成することを検討していましたが、送信できるのはそれだけです。そうすれば、パブリックWebサーバーを介して既存の内部データを公開するリスクを冒すことはありません。少し拡張されていますが、同じものもあるので、内部からオブジェクトモデルを使用する必要があります。例えば。他のすべてのフォームが継承する私のMasterFormモデル。そして、フォームで参照されているさまざまなタイプの人が継承されるマスターパーソンタイプ。

それは良いアプローチですか、それとももっと良い方法がありますか?

これは私が現在いるところです....そして遠くには行きません。(アイコンなどが通常期待するものではない場合はお詫びしますが、うまくいけば、アイデアが得られます。Visioはありません!) 現在のアイデア

これまでのところ、このアプローチを採用する際に、継承されたモデルをシリアル化/逆シリアル化するときに問題が発生しました。Webサービスと一緒にホストされているWCFデータサービスを使用してフォームを送信しようとしましたが、データサービスのモデルを使用してWCFフォーム送信Webサービスを介して送信することはできませんでした。

4

1 に答える 1

0

SOAは間違いなくここに行く方法であり、WCFは.Netの世界では賢明なアプローチです。

ただし、これにより、モデル設計に関する疑問が生じます。アプリケーションドメイン間で「ビュー」(基本的にフォームオブジェクトがここにあるもの)を公開/共有することは、悪い設計と見なされる可能性があります。

このタイプのシナリオでは、通常、サービスレイヤーでかなり基本的なビジネスオブジェクトを公開し、各アプリケーションドメインのビューを作成して、関連するデータを各ビューモデルにマッピングします。つまり、My WCFサービスはビジネスレイヤーとして機能し、アプリケーションがビジネス固有のデータをクエリできるようにします。

また、WCFサービスにデータを渡すときは、必ずHTTPS/SSLを使用してください。これにはSSL証明書が必要です、自己署名証明書を生成して、証明書エラーを無視することができます。.Net 4.5を使用している場合は、新しいBasicHttpsBindingを使用できます。

于 2012-12-20T13:15:07.507 に答える