Итак, если я хочу использовать ваш API, я загружаю вашу DLL и говорю с ней, а она, в свою очередь, затем обращается к вашей централизованной системе через HTTPS? Я правильно понял эту часть?
Моей первой попыткой было бы просто создать веб-сервис и попросить мою DLL обсудить это. (На самом деле, я не стал бы беспокоиться о DLL, если бы мог, но я понимаю, что у вас, вероятно, есть свои причины.)
Если бы я не мог этого сделать, я бы просто использовал встроенные классы WebClient или HttpWebRequest . Вам придется обрабатывать куки вручную , но это не так сложно.
При работе с System.Net иногда приходится устанавливать некоторые глобальные свойства, которые можно найти в классе ServicePointManager . В частности, на ум приходят Expect100Continue , ServerCertificateValidationCallback и UseNagleAlgorithm .
Наконец, я бы рекомендовал включить трассировку для System.Net .
Если это не поможет вам, вам необходимо предоставить нам дополнительную информацию о том, что «не работает», например, сообщения об ошибках, которые вы можете получать.