2013-07-30 5 views
0

CRUD 작업에 WCF Data Service를 사용했습니다. 하나의 원격 서비스와 많은 클라이언트 (컴퓨터)가 있습니다. 일부 클라이언트는 모든 편집 작업에서 오류를 재검토했습니다 (컨텍스트가 있으며 지금 편집합니다). 반환 된 예외에는 다음 메시지가 포함되어 있습니다. "브라우저가 알 수없는 방법으로 요청을 보냈습니다 (MERGE)". 모든 클라이언트는 Framework 4.5와 함께 Windows 7을 사용합니다. 이것에 대한 이유는 무엇일까요?조작 된 요청 (WCF 데이터 서비스)

서비스는 초기화 방법이 있습니다

 // This method is called only once to initialize service-wide policies. 
    public static void InitializeService(DataServiceConfiguration config) 
    { 
     // TODO: set rules to indicate which entity sets and service operations are visible, updatable, etc. 
     // Examples: 
     config.UseVerboseErrors = true; 
     config.SetEntitySetAccessRule("doc", EntitySetRights.All); 
     config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3; 
    } 

UPD1 : 그것은 클라이언트 응용 프로그램 (오류없이 개체를 편집 할 수 있습니다 즉, 관리자) 관리자 계정에서 실행할 때 오류가 사라졌습니다. 아마도 ClickOnce 배포의 문제 일 수 있습니다.

UPD2 : 프록시 서버를 사용하는 이유. 계속 연구 중입니다 ...

답변

0

프록시 서버 (http://msdn.microsoft.com/en-us/library/dd541471.aspx)에 의한 WCF 데이터 서비스 및 HTTP 요청 (HTTP MERGE 등) 잠금 문제가 해결되었습니다. 터널링을 사용하여 클라이언트 서비스 프록시 클래스에 대한 하나의 C# 라인이 결정되었습니다.

docService.UsePostTunneling = true;