我正在涉足 WCF 并尝试制作一个简单的测试项目,该项目既可以将服务作为服务使用,也可以直接实例化它的类并使用它们。
我有一个较早的工作版本,其中传递的数据只是原始类型。但是,当我尝试转换为使用数据合约时,无论是引用代理声明的合约版本还是项目本身的版本,我都会遇到冲突。
问题: 是否可以这样做,如果可以,我将如何解决数据合同引用?
private void Test()
{
MyService fssDirect = new MyService(); // direct instantiation
MyServiceClient fssService = new MyServiceClient(); // Service proxy
ClientCredentialsContract Client = new ClientCredentialsContract();
ResponseDataContract Result = new ResponseDataContract();
if (CallAsService)
{
Result = fssService.Create(Client, Request);
}
else
{
Result = fssDirect.Create(Client, Request);
}
}
在上面,对 RequestDataContract 和 ClientCredentialsContract 类型的任何引用都表明
警告:“C:...\Test\MyServiceProxy.cs”中的“MyContracts.RequestDataContract”类型与“C:...\MyService\bin\Debug\Contracts.dll”中导入的类型“MyContracts.RequestDataContract”冲突'。使用“C:...\Test\MyServiceProxy.cs”中定义的类型。
(更改名称并缩短路径以保护无辜者)
谢谢,
约翰