我正在使用 NSIS 构建安装程序,作为该安装程序的一部分,我获得了 WCF 服务的详细信息(即 URL、用户名和密码)。我需要验证这些细节。
在 C# 中,我创建了一个服务引用并简单地执行以下操作:
var proxy = new ServiceClient(httpsBinding, serviceEndpointAddress);
proxy.ClientCredentials.UserName.UserName = userName;
proxy.ClientCredentials.UserName.Password = password;
try
{
proxy.Open();
}
catch (EndpointNotFoundException ex)
{
// Return the end point's not valid
}
etc
现在我需要在 C++ 中执行此操作,以便可以从 NSIS 调用它(我已经研究了从 NSIS 调用 C# 的方法,它们似乎对于我想要做的事情来说都是多余的)。我已经设法转换了生成绑定和端点地址的代码,但是我一直坚持创建ServiceClient
.
我在项目中添加了一个“Web 引用”,但ServiceClient
在ServiceReference
命名空间中没有对应的。这个:
ServiceReference::ServiceClient ^service = gcnew ServiceReference::ServiceClient(httpsBinding, endpointAddress);
不编译为:
“ServiceClient”:不是“ServiceReference”的成员
那么如何创建客户端呢?