0
私のwcfサービスで奇妙な動作が発生しました。これは私のopreation契約の実装です:ドメインがdtoコンバータに2回呼び出されるのはなぜですか?
public IEnumerable<Dto.ProductType> GetAllProductTypes()
{
return m_InventoryRepository.GetAllProductTypes().Select(DomainToDtoConverter.ConvertToDto);
}
私が聞かせている場合は3000の製品の種類は、私はDTOコンバータへの私のドメインが3000回と呼ばれることを期待すべきである、と言います。しかし、これは事実ではありません。 6000回と呼ばれます。
...Select(DomainToDtoConverter.ConvertToDto).ToList();
...私が期待している3000回の変換は、私がすべてのアイテムをロードする前に確認してください。これがなぜ起こるか
誰もが知っていますか?
は、私たちが代わりにIEnumerableをの配列を返すために私たちのすべての操作の契約を変更します推測
ええ、wcfが私のIEnumerableを2回解決する理由は分かりません。シーンの後ろで何が起こるのですか? – Michael
これは、シーケンスを2回繰り返します。メソッドにブレークポイントを設定し、コールスタックを見てどこを見つけることができます。 – SLaks