我想知道有没有人能给我一些建议。我有两个存储库,存储库A和存储库B。这两个存储库目前都有一个方法,用于设置网络凭据以连接到web服务,但是每次调用web服务时,我都必须调用此方法,这是大量重复的代码(每个web服务的网络凭据都是相同的)。所以我希望有更好的方法来做这件事?
我想的是有一个所有其他存储库继承的基础存储库,它被实例化并设置网络凭据,以便在连接到web服务时可以使用它们。这是一个很好的方法,还是有更好的方法呢?
我要补充的是,我正在使用Unity for IOC和DI (在我的控制器中调用)
发布于 2013-06-20 17:23:06
你能不能没有一个单独的类来处理web服务的调用,而repos可以使用它?例如:
public class WebServiceCaller : IWebServiceCaller
{
private NetworkCredentials credentials { get; set; }
public WebServiceCaller()
{
this.credentials = new NetworkCredentials("Name", "Password");
}
// .. Whatever else you need.
}因此,repos将在其构造函数中包含以下内容:
public RepoA(IWebServiceCaller caller)
这样,调用way服务和身份验证的责任就完全从repos中剥离了。
发布于 2013-06-20 17:25:15
我认为你是在正确的轨道上,因为你也采用了DI容器,你可以很容易地实现存储库模式和工作单元。
repository and unit of work patterns
https://stackoverflow.com/questions/17209834
复制相似问题