을 사용하여 형식이 지정되지 않은 사용자 지정 데이터 서비스 공급자 을 생성하는 데 C#을 사용하고 있습니다.
필수 공급자와 인터페이스를 모두 구현했습니다.
모든 엔티티는 메타 데이터 생성 중에 만 동적으로 지정됩니다.
EDMX 또는 반사 공급자는 사용할 수 없습니다.
모든 액세스 권한이 제공됩니다.엔터티 프레임 워크를 사용하지 않고 형식이 지정되지 않은 사용자 지정 데이터 서비스 공급자 엔터티 기반 서비스 작업
1) CustomMetaDataProvider
public bool TryResolveResourceType(string name, out ResourceType resourceType)
{
return this.resourceTypes.TryGetValue(name, out resourceType);
}
public bool TryResolveServiceOperation(string name, out ServiceOperation serviceOperation)
{
if (serviceOperations.TryGetValue(name, out serviceOperation))
{
serviceOperation.SetReadOnly();
return true;
}
else
{
serviceOperation = null;
return false;
}
}
2) CustomDataQueryProvider
public object InvokeServiceOperation(ServiceOperation serviceOperation, object[] parameters)
{
//Invoke the method present in ServiceOperation
}
나는 다음과 같은 URL을
HTTP를 제공하는 경우 : // localhost를/SampleService.svc/TestEntity (1)/ID>
id 값을 가져올 수 있습니다. 나는 URL을
HTTP를 사용하여 서비스를 호출 할 때
: // localhost를/SampleService.svc/TestServiceOperation
을 나는 서비스 조작을 호출 할 수 있어요.
하지만 Serv.Op.를 호출하려고 할 때. 엔티티를 지정한 후, 나는 오류
HTTP를 얻을 : // localhost를/SampleService.svc/TestEntity/TestServiceOperation
내가이 URL을 사용하는 경우, 그것은 해당 TestEntityResourceSet,
다음 이름 = TestServiceOperation으로 ResourceType에를 찾아 간다 발견 .
그러나 TestServiceOperation에는 리소스 유형이 없습니다. TryResolveServiceOperation에서 해당 SO 이름으로 검색해야합니다.
그물에서 검색 한 모든 예는 Ser.Op. .svc/SO 유형 다음.
각 엔티티에 대해 개별적으로 서비스 작업을 호출해야합니다.
에 http : // localhostTest.svc/Entity1/SerOp1 에 http : // localhostTest.svc/Entity2/SerOp2
이 작업을 수행하는 방법의 모든 좋은 예? 감사.