1

IDataService (WCF データ サービスとのやり取りのラッパー) をリセットしようとしており、SimpleIoc.Default に格納されているため、コンテキストと追跡しているエンティティを空にすることができます。コンテナからすべてを削除するリセットを使用したくありません。起動時に IDataService を登録します。 SimpleIoc.Default.Register<IDataService, DataService>();

これを試していますが、期待どおりに機能せず、次の例外が発生しています。

{System.ArgumentException: An item with the same key has already been added.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at GalaSoft.MvvmLight.Ioc.SimpleIoc.Register[TInterface,TClass](Boolean createInstanceImmediately)
   at GalaSoft.MvvmLight.Ioc.SimpleIoc.Register[TInterface,TClass]()
   at Bootstrap.ResetDataService()}

public static void ResetDataService()
{
    try
    {
        SimpleIoc.Default.Unregister<IDataService>();
        SimpleIoc.Default.Register<IDataService, DataService>();
    }
    catch (System.Exception)
    {
        throw;
    }
}
4

1 に答える 1

1

そうです、これはバグです。次のリリースで修正します。

特定のプロジェクトについてさらに情報が必要な場合は、私に連絡してください。ソースコードで修正し、独自のバージョンを作成する方法を示します。

乾杯、ローラン

于 2012-05-20T16:49:39.607 に答える