2009-08-11 8 views
2

NinjectをIoCコンテナとして使用するプロトタイプASP.NET-MVC Webサイトがあります。 MVCコントローラによって使用されるすべてのサービスクラスおよびリポジトリクラスは、Ninjectによって適切に注入されます。これは素晴らしい。ASP.NET MVCとWCFとNinjectをIoC/DIとして統合

私が追加する必要があるのは、Silverlight(より正確にはバージョン3)です。 Silverlightは、ASP互換モードでホストされているWCFサービスを使用して、同じASP.NET-MVC Webサイトに接続しています。

Silverlightが必要とするのは、WCFを使用してViewModelの種類を「ダウンロードする」/「取得する」ことです(より良い名前はクライアントサイドモデルになります)。これも可能です - 私はWCFサービスをインポートし、セキュリティ関連のXML設定ファイルをすべてセットアップしました。ここで

は私が....

  1. を知りたいものはOK WCFサービスによって返されるモデルはかなり複雑で、(配列項目レベルで)アレイと継承が含まれていることはあります...サーバーからクライアントに送信する別の方法がありますか?

  2. 通常のasp-mvcの場合、コントローラが使用するすべてのサービスクラスはNinjectによって注入されます。 WCFサービスクラスのサービスを挿入する方法

  3. WCFサービスには、HttpContext.Current.Itemsへのアクセス権がありますか?私は、ここでログオンしたユーザーIDといくつかのプロファイル関連のデータ(通常のフォームの認証情報)を取得する必要があります。

EDIT

広告3.それはAspNetCompatibilityRequirements

を有効にすることが可能ですポイント2のための誰のアイデアを持って?

答えて

0

第1質問の場合。

  1. はい、[DataMember]属性をObject/sのすべての必要なプロパティに明示的に適用していれば、複雑な構造を返すこともできます。
+0

..子孫オブジェクトの[KnownType]属性。 WCFサービスクラスにIRepositoriesを注入するのはどうですか? – tomo