2015-02-06 22 views
1

몇 년 동안 휴면 상태였던 Silverlight 4 응용 프로그램 인 WCF RIA를 상속 받았습니다. 코드가 안정적이라고 가정합니다. 작동 시키려면 내가 말할 수있는 한 문서화되지 않은 종속성을 설치해야합니다.'name'작업은 필요한 서명을 준수하지 않습니다. 매개 변수 형식은 엔터티 형식 또는 미리 정의 된 serializable 형식 중 하나 여야합니다.

수집 할 수있는 정보를 기반으로 종속성을 설치 한 후 다음 오류가 발생합니다.

'namereplaced'라는 작업이 필요한 서명을 따르지 않습니다. 매개 변수 유형은 엔터티 유형이거나 사전 정의 된 직렬화 가능 유형

중 하나 여야합니다. 여기에서 권장하는대로 Ria Services를 제거해 보았습니다. WCF Ria Operation does not conform to the required signature 하지만 더 많은 오류가 발생합니다.

내가 여기 제안으로 리아 서비스 툴킷의 특정 버전을 사냥하려고했지만, 운이 또한 https://social.msdn.microsoft.com/Forums/silverlight/en-US/86f40859-18e8-4ce6-8d8a-a864fbe4e3ac/error-operation-named-createuser-does-not-conform-to-the-required-signature-parameter-types?forum=silverlightwcf

, 나는 IIS에서 클라이언트의 FTP에서 검색 한 방울을 설정하고보고 시도 컴퓨터에서 이벤트 로그

다음 서비스 '/AppName/Services/SomeManager-Web-Services-ImportService.svc' 인해 컴파일하는 동안 예외로 활성화 할 수 없습니다. 예외 메시지는 다음과 같습니다. 'namereplaced'라는 작업이 필수 서명을 따르지 않습니다. 매개 변수 유형은 엔티티 또는 복합 유형 인 복합 유형 모음이거나 미리 정의 된 일련 화 가능 유형 유형 중 하나 여야합니다. ---> System.InvalidOperationException : 이라는 작업이 필수 서명과 일치하지 않습니다. 매개 변수 유형은 엔터티 또는 복합 유형, 복합 유형 모음 또는 사전 정의 된 직렬화 가능 유형 중 하나 여야합니다.

그러나, IT 팀은 기존의 개발자 파일에서 발견 된 설치 프로그램을 사용하여, 나는이 오류를 생성하지 않는 웹 사이트의 인스턴스를 설정 할 수 있었다, 그러나의 최신 버전과 호환되지 않습니다 데이터 베이스. 소스 제어에서 설치 프로젝트의 소스를 찾지 못했습니다.

[Invoke(HasSideEffects=true)] 
    public void NameReplaced(IEnumerable<ImportRecord> recs) 
    { 
     foreach (var item in recs) 
     { 
      UpdateImportRecord(item); 
     } 
    } 

내가 이상적으로 추가 한 후, 조사가 클라이언트 환경에서 오류에서 수행 될 필요가 같이 코드를 변경하려고하지 않고이 문제를 해결하고자 다음과 같이

문제의 방법을 정의 업데이트가 필요합니다.

편집 : 포함 포함 마크 W에서 제안,

public IQueryable<ImportRecord> GetImportRecords() 
     { 
      return null; 
     } 

하지만 같은 빌드 오류가보고됩니다.

+0

사용중인 Visual Studio 버전은 무엇입니까? – OmegaMan

+0

VS2010을 사용하고 있습니다. 나는이 프로젝트를 위해 특별히 설치했다. – recursionjm

답변

0

우리는 RIA 서비스를 설치하지 않은 서버에서 실행합니다.

  • System.ServiceModel.DomainServices.EntityFramework
  • System.ServiceModel.DomainServices.Hosting
  • System.ServiceModel.DomainServices.Hosting.OData : 우리가 한 일은에 진정한 로컬 복사 =로 웹 사이트를 게시했다
  • System.ServiceModel.DomainServices.Server

은 그게 아닌 경우 -로 인해 도메인 서비스의 마법에 서비스 클래스 유형을 자동으로 생성 할 필요가있다. 서비스에서 리턴 된 유형 만 생성됩니다. 도메인 서비스에 ImportRecord 형식의 Iqueryable 또는 Ienumerable을 반환하는 메서드가 없으면 null을 반환하는 메서드를 만들면 코드를 생성하는 데 충분합니다.

저의 생각은 제 2의 첫 번째 생각입니다.

편집 : 이것은 내가 이야기하고있는 것 같습니다 : previously asked question

+0

null IQueryable 를 반환하는 메서드를 추가했습니다. 여전히 빌드되지 않으며 동일한 오류를보고합니다. – recursionjm

+0

엔티티에 키가 정의되어 있습니까? –

+0

예, ImportRecord에 정의 된 키가 있습니다. – recursionjm

1

이 프로젝트는 인 때문에 어떤 목적으로 부활, 나는 당신이 최신 Visual Studio를 사용하고 실버 5로 이동하는 것이 좋습니다 생각은 솔직히 프로세스를 방해 할 오래된 기술을 다루는 이유입니다.

시작할 때까지 실행 중이지만 작동하지 않을 때까지는 작동하지 않는 것을 주석으로 처리하십시오. 그런 다음 문제를 일으키는 것을 다시 가져 오십시오.

나는 이것을 S4 & S5에서 광범위하게 작업 한 것으로부터 솔직히 (코드로) 크게 변경하지 않았다. 이 프로세스를 수행하면 업그레이드에 문제가 있지만 극복 할 수없는 것은 아닙니다. 게다가 설치 영리는 Visual Studio의 S5 이상 버전에서 더 좋아졌습니다.

+0

나는 어디에서 왔는지 알 수 있습니다. 복구되는 이유 중 하나는 프로덕션 환경에 나타나는 문제를 해결하는 것입니다. 이상적으로, 나는 믹스에서 추가 변수를 유지하고 싶습니다. – recursionjm

+0

Silverlight 버전을 이전하지는 않았지만 WCF Ria Services의 이후 버전을 설치하면 트릭이 완료된 것 같습니다. 동일한 구성 요소를 설치했지만 이전에 빌드 할 수 없으므로 설치 제거/재설치 단계의 순서가 약간의 차이가있는 것으로 보입니다. – recursionjm

+0

@recursionjm 클라이언트가 새 컴퓨터에 갔다가 문제가 발생한 VS2010을 계속 사용해야하는 * 최근 * Silverlight 프로젝트가있었습니다. 설치 순서가 이상하게 이상합니다. – OmegaMan