2
當構造函數在我的一個Domain對象上執行時,我需要從RequestContext
獲得數據。下面的例子就是我已經在做的事情。如何將RequestContext數據提供給域對象的構造函數?
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()