问题背景:
我有一个由DLL,Web服务和测试项目组成的项目。目前我只是尝试通过使用Unity来设置Web服务构造函数字符串参数。
问题&错误:
以下显示了Web服务类“VersionControlFacade”的构造函数结构:
private string _url;
public VersionControlService()
{
}
public VersionControlService(string url)
{
_url = url;
}
如果我只是传递'url'参数,如下面的代码所示:没关系:
var newVersionControlFacade = new VersionControlFacade(@"http://somelink.com");
当我尝试使用我的Unity IoC容器传递它时,如图所示:
var container = new UnityContainer();
container.RegisterType<IVersionControlFacade, ProxyHandler>();
container.RegisterType<Proxy>();
container.RegisterType<VersionControlService>(new InjectionConstructor(@"http://somelink.com"));
return container.Resolve<IVersionControlFacade>();
以下错误正在抛出,表明Web服务不包含采用字符串参数的构造函数,即使它显然也是如此。:
结果讯息:
测试方法Test_Unity抛出异常: System.InvalidOperationException:类型VersionControl.WebService.VersionControlService没有带参数(String)的构造函数。
有人能引导我朝着正确的方向前进吗?我是否需要重新添加Web引用才能看到这个新的构造函数?