Что мне нужно для автоматизации инструмента, который находится в C # .net - PullRequest
0 голосов
/ 23 марта 2011

У меня есть инструмент, созданный в C # .net, и я хочу автоматизировать этот инструмент в ruby, в настоящее время этот инструмент находится в альфа-фазе. Должен ли я создать COM-файл в C # или создать сочетание клавиш для автоматизации этого инструмента в Ruby?какой из них лучший?

Ответы [ 2 ]

0 голосов
/ 23 марта 2011

В дополнение к ответу Аарона: ваш API должен быть доступен не для приложений .NET, что означает, что вы должны использовать какой-то стандартный интерфейс, такой как сокет TCP, или какую-то очередь сообщений, именованные каналы (если такая вещь существует в Windows) и т. д.

Если бы я занимался написанием приложения для автоматизации Ruby (которым я часто являюсь), я бы проголосовал за сетевой сокет, использующий некоторый простой протокол, REST или его подмножество, с XML или (еще лучше) JSON. в качестве носителя данных.

Что касается их реализации, я был бы удивлен, если бы не было какого-то небольшого .NET HTTP-сервера, который вы могли бы легко встроить в свое приложение.

0 голосов
/ 23 марта 2011

Я не уверен, что вы имеете в виду, создавая сочетания клавиш, возможно, как грубую систему передачи сообщений?

Во всяком случае, я полагаю, что типичный метод разрешения внешнего управления / создания сценариев - это предоставление API для вашей программы. В некоторых случаях мне приходилось делать что-то похожее, я обычно создаю интерфейс, содержащий все открытые методы, и затем мой основной класс приложения реализует этот интерфейс. Возможно, вам потребуется сделать этот COM видимым, чтобы позволить не .NET-средам получить доступ к интерфейсу, да. Хотя IIRC это просто вариант сборки, по крайней мере в VS 2010 это простой вариант в свойствах проекта.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...