Итак, я написал веб-сервис на c #, в котором есть метод подписи хеша. Этот веб-сервис является приложением службы WCF.
Затем я создал консольное приложение c #, где написал функцию для использования этого веб-сервиса.
Объявление функции, которая вызывает веб-сервис, таково:
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 #, потому что я хочу вызывать этот веб-сервис из неуправляемого кода, и я подумал, что создание класса-оболочки c ++ будет хорошей идеей. Может кто-нибудь помочь мне с некой структурой этого класса-обёртки? Я не очень хорошо понял преобразования между c ++ и c #. Я создал библиотеку классов C ++ CLR с классом ref, который будет содержать мой метод c ++ для вызова этого метода c #, но у меня все еще есть некоторые проблемы с типом параметров этой функции.
Если вы хотите придерживаться собственного (неуправляемого) C ++ (вместо использования C ++ / CLI), лучшим вариантом может быть WWSAPI как это может вызвать службу WCF непосредственно из C ++. Хотя, поскольку это API на основе C, использовать его из C ++ немного неудобно.
В противном случае существует обширная документация по C ++ / CLI. Вот; особенно сортировочный.
Других решений пока нет …