나는이 머리카락을 머리카락으로 잡아 당깁니다."원격 서버가 오류를 반환했습니다 : NotFound"를 반환하는 WCF 서비스 참조 호출.
웹 서버에서 호출하기위한 WCF 인터페이스가 있습니다. 다른 모든 함수는 정상적으로 작동하지만 추가 한 새 함수는 "원격 서버가 오류를 반환했습니다 : NotFound." End.cs에서 자동으로 생성 된 Reference.cs 파일에 있습니다.
서버가 발견 된 것을 알고 있습니다. 서비스 측에서 디버거를 깨고 명확하게 호출되어 올바른 유형을 반환합니다.
이 잘못된 오류의 원인은 무엇입니까? "Reference.cs"에 충돌
[ServiceContract]
public interface IDatabaseQueries
{
...
[OperationContract(AsyncPattern = true)]
IAsyncResult BeginGetItemFromId(int itemID, AsyncCallback callback, Object state);
RmaItem EndGetItemFromId(IAsyncResult result);
...
}
[DataContract]
[KnownType(typeof(ItemType))]
[KnownType(typeof(Location))]
[KnownType(typeof(DateTime))]
public class RmaItem
{
...
}
[SilverlightFaultBehavior]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[KnownType(typeof(RmaItem))]
[KnownType(typeof(RmaReport))]
public class DatabaseService : IDatabaseQueries
{
...
public IAsyncResult BeginGetItemFromId(int itemID, AsyncCallback callback, Object state)
{
return new DatabaseResponse(itemID);
}
public RmaItem EndGetItemFromId(IAsyncResult result)
{
return GetRmaItemById((int)(result as DatabaseResponse).GetData);
}
...
}
:
public RMA.DatabaseServiceReference.RmaItem EndGetItemFromId(System.IAsyncResult result) {
object[] _args = new object[0];
RMA.DatabaseServiceReference.RmaItem _result = ((RMA.DatabaseServiceReference.RmaItem)(base.EndInvoke("GetItemFromId", _args, result)));
return _result;
편집 : 나는 다른 모든 기능을 말할 때
내가 같은 IDatabaseQueries 인터페이스입니다 추가 기능을 의미한다. 2 :
EDIT 문제가 필드 (ItemType은) 등의 열거를 사용 하였다 낸다. 위에서 보듯이 ItemType은 알려진 유형입니다. 그 유형에 실종 된 특수한 상태가 있습니까? 다음은 감속입니다.
[DataContract]
public enum ItemType
{
LOCATION, PART, ASSEMBLY
}
나는이 느낌이 응답 해 주셔서 감사합니다. 이 형식을 반환하는 첫 번째 함수 및 문제가있는 유일한 함수입니다. 나는 무엇이 없는가 ?? – JeremyK