无法设置Web Service构造函数参数

时间:2014-02-10 11:23:54

标签: c# asp.net web-services constructor unity-container

问题背景:

我有一个由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引用才能看到这个新的构造函数?

0 个答案:

没有答案