0
我有一個Web服務門面這樣的:如何通過門面按需執行依賴注入?
interface MyWebServices
{
ReportsService.Conversion[] Conversions();
ExportService.Advertiser[] ExportAdvertisers();
}
public class MyWebServices : IMyWebServices
{
private string apiKey;
public CakeWebService(string apiKey)
{
this.apiKey = apiKey;
}
public ExportService.Advertiser[] ExportAdvertisers()
{
var service = new ExportService.export();
int advertiserID = 0;
var advertisers = service.Advertisers(this.apiKey, advertiserID);
return advertisers;
}
public ReportsService.Conversion[] Conversions()
{
var target = new ReportsService.reports();
DateTime from = new DateTime(2012, 1, 1);
DateTime to = DateTime.Now.AddDays(1);
int affiliateID = 0;
int offerID = 0;
var conversions = target.ConversionExport(this.apiKey, from, to, affiliateID, offerID, false);
return conversions;
}
}
每個方法創建一個Web服務的一個實例,然後調用之前對其進行配置。
我寧願我的UnityContainer做到這一點的配置,但我留給想要類似「按需方法注入」 ......
我想這可能是一個很好的候選人使用截取擴展,但我無法知道這是否真的是一個場景的作品 - 這是一個合理的路要走嗎?
+1,但爲什麼你仍然在做'新的ExportService'?這是構造器注入的一個很好的候選者。 – 2012-04-26 15:29:23