【问题标题】:C++ wrapper class for C# class calling a web service用于调用 Web 服务的 C# 类的 C++ 包装类
【发布时间】:2017-04-10 21:35:58
【问题描述】:

所以,我用 C# 编写了一个 Web 服务,它有一个签名哈希的方法。此 Web 服务是 WCF 服务应用程序。 然后,我创建了一个 c# 控制台应用程序,并在其中编写了一个函数来使用此 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 类库,其中包含我的 c++ 方法来调用这个 c# 方法的 ref 类,但是我仍然对这个函数的参数类型有一些问题。

【问题讨论】:

    标签: c++ wcf c++-cli clr wwsapi


    【解决方案1】:

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

    否则,有大量关于 C++/CLI here 的文档;特别是marshaling

    【讨论】:

    • 谢谢。我不想使用 Windows Web 服务,我曾经使用 C++/CLI。
    猜你喜欢
    • 2011-04-17
    • 2015-04-13
    • 2013-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-08
    • 2012-10-31
    相关资源
    最近更新 更多