2010-07-23 5 views
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.: 

출력되는 스택 추적에서 위에서 언급 한 줄로 이동합니다. 다른 모든 위치는 다른 프로세스에서 자주 사용되며 이전에는이 ​​문제가 발생하지 않았습니다. 위에서 언급 한 줄만 다릅니다.

아이디어가 있으십니까?

+0

플랫폼은 무엇입니까? ASP.NET? – Robaticus

+0

사실 그것은 C#입니다. – IronMan84

+3

나는 그것이 C#임을 이해합니다. 나는 당신이 여기서 어떤 종류의 응용 프로그램을 만들고 있는지 묻습니다. 그것은 클래스 라이브러리, 코드 숨김, winforms, WPF와 ASP.NET인가요? 나는 "페이지"와 "서버 팜"이라는 단어를 사용하기 때문에 ASP.NET을 사용하고 있습니다. – Robaticus

답변

1

아마 다른 버전이있을 것입니다.

모든 어셈블리를 다시 배포하십시오.

+0

문제는 지난 며칠 동안이 문제가 있었고 서버의 어셈블리가 매일 배포된다는 것입니다. – IronMan84

+0

배포 프로세스가 응용 프로그램 풀 또는 iisreset을 재활용하지 않는 경우에도 응용 프로그램에 이전 버전의 어셈블리에 대한 참조가 남아있을 수 있습니다. –

+0

방금 ​​QA 사람들에게 가서 서비스를 다시 시작했습니다. 오류가 계속 발생합니다. – IronMan84

0

그냥 비슷한 오류가 있었고 그 이유는 코드의 개인 변수 이름과 동일한 ID 텍스트를 가진 컨트롤의 첫 페이지 정의가 있었고 그 중 하나의 이름이 변경되어 문제가 해결 되었기 때문입니다.

관련 문제