1

私はSilverlightとCSLAを初めて使用するので、サンプルプロジェクトを機能させる必要があります。私は、CSLAに関するLhotkaの2008年の本と、それに付属するSilverlightebook+サンプルプロジェクトの両方を持っています。

データポータル(WCFを使用するように構成されたデータポータル/チャネルアダプター)を介してCSLA4.3オブジェクトを取得するSilverlight5 MVVM Lightプロジェクトを作成するのはかなり簡単だと思いましたが、サーバーからCSLAオブジェクトを取得することはできません。

注:CSLAを方程式から外し、Linq toSQLまたはEntityFrameworkとWCFRIAサービス呼び出しを使用すると、サーバーからオブジェクトを取得してSilverlightで問題なく表示できますが、これでは使用できません。プロジェクトCSLAを機能させる必要があります。

私のステップ:

  1. Silverlightビジネスアプリケーションを作成しました-MyProject(SL)とMyProject.Web(WCF)を入手します
  2. .Webプロジェクトにサービスを追加しました

    <%@ ServiceHost Service = "Csla.Server.Hosts.Silverlight.WcfPortal"%>。

  3. SLプロジェクトのApp.xamlApplication_Startupメソッドでサービスを参照しました

    Csla.DataPortalClient.WcfProxy.DefaultUrl = "http:// localhost:14790 / Services / MyTestCslaSilverlightWcfService.svc"; 。

  4. 1セットのテストオブジェクト(MyMobileObjItem.cs、MyMobileObjItemList.cs)を持つ単純なCSLAビジネスレイヤープロジェクト(MyProject.CSLA)を追加しました

  5. さらに2つのプロジェクト(MyProject.CSLA.ClientとMyProject.CSLA.Server)を追加しました。.ClientプロジェクトはSilverlightクラスライブラリであり、.Serverはクラスライブラリです。次に、すべてのCSLAオブジェクト(既存の参照を追加、リンクとして追加)と必要なすべての参照(csla / csla silverlight dll)をリンクしました。MyProjectで.Clientプロジェクトへの参照を追加し、MyProject.Webで.Serverプロジェクトへの参照を追加します。

  6. これで、プロジェクトが機能するはずで、サーバーからアイテムまたはアイテムのリストを取得したいと思います。コンストラクターのメインのViewModelで、2つの異なることを試しました。使うとき

    MyMobileObjItemList.GetAllAsync(HandleReturnedArgs);

コールバックメソッドEventArgsにエラー「System.IO.FileNotFoundException:ファイルまたはアセンブリ「MyProject.CSLA.Client」を読み込めませんでした。Silverlightアプリにこのプロジェクトへの参照があるため、これは奇妙です。MyProject.Webはすべきではありません」 .Server参照があるため、.Client参照が必要です。

使うとき

DataPortal<MyMobileObjItemList> dp = new DataPortal<MyMobileObjItemList>();
dp.FetchCompleted += HandleReturnedArgs;
dp.BeginFetch();

コールバックメソッドEventArgsにエラー「System.InvalidOperationException:オブジェクトタイプまたはアセンブリを読み込めませんでした(MyProject.CSLA.MyMobileObjItemList、MyProject.CSLA.Client」」があります。

これらのエラーのいずれかがどこで発生しているのか(クライアントまたはサーバーで?)わかりません。これはCsla.DataPortalExceptionであるため、サーバーエラーであると思います。

簡単な電話をかける方法がわからない、またはこれが正しい方法であるかどうかはわかりません。私が見つけることができるすべての例は、この方法ではなく、私にはわかりにくいようです。

これはうまく組み合わせることがたくさんあり、簡潔に答えるのは難しいかもしれませんが、助けていただければ幸いです(コード、ダウンロード例へのリンクなど)

質問:

  1. オブジェクトを取得するリモートデータポータルを呼び出すSilverlightMVVMLightプロジェクトの簡単な例と、オブジェクトを機能させる方法/すべての要素を組み合わせる方法のドキュメントはありますか?繰り返しになりますが、私は電子ブックSilverlightプロジェクトを持っていますが、それはbxfを使用しており、データポータルで他の電子ブックを表示するように本が言っているほとんどのデータポータル参照(私は持っていません-私はそれを購入しますが、サイトはpdfへのアクセスを許可するために数日。本当に貧しいサイト)。また
  2. 誰かが私が間違っていることを説明できますか?
4

1 に答える 1

0

エラーエラーを修正するために、.Clientプロジェクトと.Serverプロジェクトのアセンブリとデフォルトの名前空間を.CSLAプロジェクト(プロジェクトのプロパティで設定)と完全に一致するように変更しました

詳細については、このフォーラムディスカッションを参照してください

于 2012-05-16T23:30:58.550 に答える