0
CreateDataSource가 호출 될 때 Silverlight 클라이언트에 채워지는 사용자 지정 헤더를 얻지 못하는 것 같습니다. 다음 코드가 있습니다 :CreateDataSource WCF DataServices
protected override CaseEntitiesContext CreateDataSource()
{
return new CaseEntitiesContext(CaseGuid, ConnectionString, Provider)
{
DefaultContainerName = "CaseEntitiesContext"
};
}
ConnectionString과 Provider는 web.config에서 가져 왔지만 RequestHeader에서 CaseGuid를 가져와야합니다.
생성자 또는 인라인에서 다음 코드를 추가하면 CreateDataSource 다음에 코드가 실행됩니다.
ProcessingPipeline.ProcessingRequest += (o, args) =>
{
CaseGuid = new Guid(args.OperationContext.RequestHeaders["caseguid"]);
Debug.WriteLine("request case guid:" + args.OperationContext.RequestHeaders["caseguid"]);
Debug.WriteLine("CaseRequest Processing HTTP {0} request for URI {1} Case Guid {2}",
args.OperationContext.RequestMethod,
args.OperationContext.AbsoluteRequestUri,
args.OperationContext.RequestHeaders["caseguid"]);
};
내가 참고 CreateDataSource
에서 Request 개체를 얻을 수있는 방법/어떤 아이디어 : CaseEntitiesContext 올바른 DB 카탈로그를 결정하는 가이 드에 따라 EF를 생성하는 사용자 정의 생성자입니다.