2

我有一个测试项目,其中包含对 WCF 服务的服务引用和一个包含服务代码的服务项目。这有一个用于返回字符串值的参数。

<OperationContract()> 
Function Action(parameter as String) As Boolean

在测试代​​码中,我声明了一个变量并将其传递给服务调用。调用完成后,检查参数的值。

Dim parameter As String = String.Empty
Dim result As Boolean = service.Action(parameter)
Assert.IsTrue(result = True)
Assert.IsTrue(parameter.Length > 0)

当我第一次测试调用服务后这个参数仍然是空的,所以我添加By Ref 到函数中,但是现在当我在即时窗口中检查它的值时,我得到了一个'parameter' is not declared. It may be inaccessible due to its protection level错误。

这个错误的原因是什么?

4

1 回答 1

2

这是由于一个简单的疏忽造成的。当我更改服务接口以将参数从隐含的“By Val”切换到显式的“By Ref”时,我没有在我的测试项目中更新服务引用。

一旦我更新了服务参考,它就可以正常工作。

于 2013-06-20T10:51:46.437 回答