0

所以,我用 c# 编写了一个 web 服务,它有一个签名哈希的方法。此 Web 服务是 WCF 服务应用程序。然后,我创建了 ac# Console 应用程序,并在其中编写了一个函数来使用此 Web 服务。调用 Web 服务的函数声明如下:

class Program
{
public byte[] callWS(string alias, byte[] myHash,string myPassword)
{
    IhashSignSVCClient client = new IhashSignSVCClient();
        byte[] signedData= client.SignandReturn(alias, myhash, myPassword);
        if (signedData != null)
        {
            Console.WriteLine(signedData);
            return signedData;
        }
        return null;

 }
}

该网络服务运行良好。现在我想在这个 c# 方法上构建一个 c++ 包装器类,因为我想从非托管代码调用这个 Web 服务,并且我认为创建一个 c++ 包装器类将是一个好主意。任何人都可以帮助我了解这个包装类的一种结构吗?我还不太了解 c++ 和 c# 之间的转换。我创建了一个 C++ CLR 类库,其中包含一个 ref 类,其中包含我的 c++ 方法来调用这个 c# 方法,但是我仍然对这个函数的参数类型有一些问题。

4

1 回答 1

1

如果您想坚持使用本机(非托管)C++(而不是使用 C++/CLI),最好的选择可能是WWSAPI,因为它可以直接从 C++ 调用 WCF 服务。虽然因为它是一个基于 C 的 API,但从 C++ 中使用它有点麻烦。

否则,这里有关于 C++/CLI 的大量文档;特别是编组

于 2017-04-10T21:47:39.083 回答