Кажется, я не могу получить пользовательский заголовок, который я заполняю на клиенте silverlight во время вызова CreateDataSource.У меня есть следующий код:
protected override CaseEntitiesContext CreateDataSource()
{
return new CaseEntitiesContext(CaseGuid, ConnectionString, Provider)
{
DefaultContainerName = "CaseEntitiesContext"
};
}
Я получаю ConnectionString и Provider из web.config, но мне нужно получить CaseGuid из RequestHeader.
Если я добавлю следующий код либо в конструкторе, либо в строке, код будет выполняться после 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"]);
};
Любые идеи, где и как я могу получить объект Request в CreateDataSource
FYI: CaseEntitiesContext - это пользовательский конструктор, который создает EF на основе Guid для определения правильного каталога БД.