Мне нужно, чтобы данные из RequestContext
были доступны, когда конструктор выполняется на одном из моих объектов Domain.Следующий пример - это то, что я уже делаю.
public Site(IDataUniverseService dataUniverse, IRegionService regionService)
{
this.DataUniverse = dataUniverse.GetDataUniverse(this.Id);
this.Region = regionService.GetRegion(this.Id, /* this value comes as a URL parameter */);
}
Это нормально, потому что StructureMap может легко предоставлять сервисы, потому что они приходят из домена.
Но как мне его получить?также предоставить интерфейс для RequestContext
?Или я должен делать это по-другому?
Это то, что я имею в виду:
public Site(IDataUniverseService dataUniverse
, IRegionService regionService
, IRequestContext context)
{
var region = context.RouteData.Values["region"].ToString()
this.DataUniverse = dataUniverse.GetDataUniverse(this.Id);
this.Region = regionService.GetRegion(this.Id, region);
}
, но в идеале IRequestContext
просто будет иметь это значение легко доступным как свойство, а не RouteData.Values["region"].ToString()