Как получить доступ к API, запущенному на удаленном компьютере через сеть

Я хочу подключиться к элементу управления Windows на основе OKUMA с внешнего ПК (т. Е. Кроме контроллера OKUMA) и использовать открытый API OKUMA на этом компьютере. Является ли это возможным? (Если да, то как?)

Ниже приведен мой код, который я хочу запустить со своего ноутбука, чтобы проверить режим работы машины. Я получаю ошибки, потому что Okuma.CLDATAPI не может работать на моем локальном ПК:

using Okuma.CLDATAPI.Enumerations; // Part of the API on the machine
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace OKUMA_TRIAL
{
    public partial class Form1 : Form
    {
        Okuma.CLDATAPI.DataAPI.CMachine objCMachine;
        public Form1()
        {
            InitializeComponent();

            objCMachine = new Okuma.CLDATAPI.DataAPI.CMachine();
            objCMachine.Init();
        }

        private ExecutionModeEnum fnGetRunMode()
        {
            return objCMachine.GetExecutionMode();
        }

        private void btnRead_Click(object sender, EventArgs e)
        {
            txtRunMode.Text = fnGetRunMode().ToString();
        }
    }
}

Если это невозможно, есть ли другой способ связи с машиной?

1 ответ

Используйте Windows Communication Foundation, чтобы обернуть API.

Из-за широкого спроса Open API SDK теперь включает пример клиент / сервис WCF.

Пример службы WCF и клиент

Важно отметить, что нам неудобно выпускать код общедоступной службы с доступом через API, поэтому этот пример настроен только для локального хоста. Конечно, тривиально изменить конфигурацию, но тот, кто делает это, должен принять на себя всю ответственность за это.

Microsoft фактически проделала хорошую работу по документированию функций WCF, см. Ниже.


Образцы Windows Communication Foundation (WCF) и Windows Workflow Foundation (WF) для.NET Framework 4

Другие вопросы по тегам