0

私が現在取り組んでいるページは、ポートフォリオに基づいてさまざまなエンティティを検索します。他の検索基準 (ポートフォリオ以外) を適用するために、ページは最初にポートフォリオごとにエンティティを取得し、次に基準をそれらに適用します。ここに示すように:

IPortfolioLogic logic = this.objectFactory.GetObject<IPortfolioLogic>(this.dal);
PortfolioEntity portfolio = logic.GetPortfolioByID(this.context, this.dal, requestDto.Portfolio.UniqueID);
var unfilteredEntities = portfolio.EntityGroupEntity.EntityGroupItemList.Select(i=>i.EntityID);
IList<EntityEntity> entities = criteria.ApplyTo<EntityEntity>(unfilteredEntities);

この最後の行は、次のコードに送信します。

public IList<T> ApplyTo<T>(IEnumerable<T> list) {
        IList tmpList = this.ApplyTo(list, typeof(T));

        IList<T> resultList;

        if (tmpList == null) {
            resultList = null;
        }
        else {
            resultList = new List<T>();

            foreach (object tmp in tmpList) {
                resultList.Add((T)tmp);
            }
        }

        return resultList;
    }

public IList ApplyTo(IEnumerable list, Type entitiesType) {
        return this.GetEvaluator().ApplyTo(list, entitiesType);
    }

ここから、ポートフォリオに関連し、基準にも一致する特定のエンティティを取得します。

私のローカルマシンでは、これは完全に機能します。エンティティを見つけて、それらの基準を実行します。ただし、私たちのファームでは、次のメッセージが表示されます。

Message: Error #0e3c57ad-a834-47ab-996a-deecb80fccca
Ambiguous match found.:

出力されるスタック トレースでは、上記の行に移動します。他のすべての場所は他のプロセスによって頻繁に使用されており、以前にこの問題が発生したことはありません。上記の行だけが異なります。

何か案は?

4

2 に答える 2

1

おそらく、さまざまなバージョンが混在しています。

すべてのアセンブリを再デプロイしてみてください。

于 2010-07-23T20:19:56.447 に答える
0

同様のエラーが発生しました。その理由は、コード ビハインドのプライベート変数名と同じ ID テキストを持つコントロールのフロント ページ定義があり、そのうちの 1 つを名前変更して問題を解決したためです。

于 2014-10-21T16:01:12.647 に答える