<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: C# API — tik4net на GitHub]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме C# API — tik4net на GitHub форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Thu, 13 Aug 2026 19:40:13 -0400</pubDate>
		<item>
			<title>C# API — tik4net на GitHub</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415007">C# API — tik4net на GitHub</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет! Я только что обновил исходники на GitHub (обновление войдёт в следующий релиз). В обновлённой версии теперь можно просто форматировать текст команды с помощью фильтра. Непривязанный тип:<br /><br />var cmd = Connection.CreateCommandAndParameters(@"/interface/print<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;?type=ether<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;?type=wlan<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;?#|");<br />var list = cmd.ExecuteList();<br /><br />Строго типизированный вариант:<br /><br />var cmd = Connection.CreateCommandAndParameters(@"/interface/print<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;?type=ether<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;?type=wlan<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;?#|");<br />var list = cmd.LoadList&lt;Interface&gt;();<br /><br />Главная причина, почему стек параметров не поддерживается — это то, что он сильно усложнит API (выражения деревьев?). Поэтому на данный момент я решил не поддерживать такую конструкцию через параметры (возможно, в будущем). Наслаждайтесь, D <br />
			<i>28.01.2016 08:27:00, danikf.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415007</link>
			<guid>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415007</guid>
			<pubDate>Thu, 28 Jan 2016 08:27:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>C# API — tik4net на GitHub</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415006">C# API — tik4net на GitHub</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет, danikf! Отличная работа, мужик, спасибо, что поделился. Я использую твою dll в проекте на vb.net, можешь объяснить, как установить #operations через CreateCommandAndParameters, чтобы применить операции к значениям в стеке? Пример для выполнения этого запроса: /interface/print<br />?type=ether<br />?type=vlan<br />?#| <br />
			<i>27.01.2016 11:06:00, tmak.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415006</link>
			<guid>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415006</guid>
			<pubDate>Wed, 27 Jan 2016 11:06:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>C# API — tik4net на GitHub</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415005">C# API — tik4net на GitHub</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Выпущена новая версия 1.5.0.0. Что нового: функция TikListMerge — подробности на <noindex><a href="https://github.com/danikf/tik4net/wiki/TikListMerge" target="_blank" rel="nofollow" >https://github.com/danikf/tik4net/wiki/TikListMerge</a></noindex>, сущность FirewallConnection.ConnectionTracking, исправлены баги. Наслаждайтесь, D <br />
			<i>01.01.2016 18:21:00, danikf.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415005</link>
			<guid>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415005</guid>
			<pubDate>Fri, 01 Jan 2016 18:21:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>C# API — tik4net на GitHub</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415004">C# API — tik4net на GitHub</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Вероятно, нет активного соединения с IP 192.168.3.69 к роутеру (или отслеживание соединений отключено в конфигурации Mikrotik). Попробуйте загрузить все соединения без фильтра: var command = connection.CreateCommandAndParameters("/ip/firewall/connection/print"); var result = command.ExecuteList(); Наслаждайтесь, D <br />
			<i>22.12.2015 16:55:00, danikf.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415004</link>
			<guid>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415004</guid>
			<pubDate>Tue, 22 Dec 2015 16:55:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>C# API — tik4net на GitHub</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415003">C# API — tik4net на GitHub</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Доброе утро… Я провёл тест следующим образом, используя (ITikConnection connection = ConnectionFactory.CreateConnection(TikConnectionType.Api)) { connection.Open(HOST, USER, PASS); var command = connection.CreateCommandAndParameters(“/ip/firewall/connection/print”,“src-address”,“192.168.3.69”); var result = command.ExecuteList(); foreach (var c in result) { listBox1.Items.Add&#169;; } } Однако результата нет. <br />
			<i>22.12.2015 10:53:00, geraneto.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415003</link>
			<guid>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415003</guid>
			<pubDate>Tue, 22 Dec 2015 10:53:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>C# API — tik4net на GitHub</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415002">C# API — tik4net на GitHub</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет! Есть несколько способов справиться с этой задачей:<br /><br />Используя &nbsp;<br />(ITikConnection connection = ConnectionFactory.CreateConnection(TikConnectionType.Api)) &nbsp;<br />{ &nbsp;<br /> &nbsp;connection.Open(HOST, USER, PASS);<br /><br />Через прямой вызов API (низкоуровневый доступ): &nbsp;<br />string[] command = new string[]  <br />{ &nbsp;<br /> &nbsp;"/ip/firewall/connection/print", &nbsp;<br /> &nbsp;"?src-address=192.168.3.103" &nbsp;<br />}; &nbsp;<br />var result = connection.CallCommandSync(command);<br /><br />Через API, похожее на ADO.NET: &nbsp;<br />var command = connection.CreateCommandAndParameters("/ip/firewall/connection/print", &nbsp;<br /> &nbsp;"src-address", "192.168.3.103"); &nbsp;<br />var result = command.ExecuteList();<br /><br />Через высокоуровневый O/R mapper API: &nbsp;<br />// Этот класс будет частью следующего релиза, но пока можно просто добавить его в свой код &nbsp;<br />[TikEntity("ip/firewall/connection")]  <br />public class FirewallConnection &nbsp;<br />{ &nbsp;<br /> &nbsp; &nbsp;[TikProperty(".id", IsReadOnly = true, IsMandatory = true)]  <br /> &nbsp; &nbsp;public string Id { get; private set; }<br /><br /> &nbsp; &nbsp;[TikProperty("connection-mark", IsReadOnly = true)]  <br /> &nbsp; &nbsp;public string ConnectionMark { get; private set; }<br /><br /> &nbsp; &nbsp;[TikProperty("connection-type", IsReadOnly = true)]  <br /> &nbsp; &nbsp;public string ConnectionType { get; private set; }<br /><br /> &nbsp; &nbsp;[TikProperty("dst-address", IsReadOnly = true)]  <br /> &nbsp; &nbsp;public string DstAddress { get; private set; }<br /><br /> &nbsp; &nbsp;[TikProperty("protocol", IsReadOnly = true)]  <br /> &nbsp; &nbsp;public string Protocol { get; private set; }<br /><br /> &nbsp; &nbsp;[TikProperty("src-address", IsReadOnly = true)]  <br /> &nbsp; &nbsp;public string SrcAddress { get; private set; }<br /><br /> &nbsp; &nbsp;[TikProperty("tcp-state", IsReadOnly = true)]  <br /> &nbsp; &nbsp;public string TcpState { get; private set; }<br /><br /> &nbsp; &nbsp;[TikProperty("timeout", IsReadOnly = true)]  <br /> &nbsp; &nbsp;public string Timeout { get; private set; } &nbsp;<br />}<br /><br />// А вот код: &nbsp;<br />using tik4net.Objects; &nbsp;<br />... &nbsp;<br />var result = connection.LoadList&lt;FirewallConnection&gt;( &nbsp;<br /> &nbsp;connection.CreateParameter("src-address", "192.168.3.103"));<br /><br />Можно вообще пропустить фильтрацию в запросе, взять все соединения и отфильтровать их потом в C# (LINQ?). Медленно, зато просто... Наслаждайтесь, D <br />
			<i>21.12.2015 18:50:00, danikf.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415002</link>
			<guid>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415002</guid>
			<pubDate>Mon, 21 Dec 2015 18:50:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>C# API — tik4net на GitHub</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415001">C# API — tik4net на GitHub</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Добрый вечер… Я не могу выполнить команду /IP/firewall/connection/print, где src-address ~ “192.168.2.2”. Мне нужно отследить dst-address. Спасибо. <br />
			<i>20.12.2015 23:21:00, geraneto.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415001</link>
			<guid>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415001</guid>
			<pubDate>Sun, 20 Dec 2015 23:21:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>C# API — tik4net на GitHub</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415000">C# API — tik4net на GitHub</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Добрый вечер! Нужно зафиксировать все подключения с IP-адреса /ip/firewall/connections/print, где src-address ~192.168.2.2. Как это сделать? Спасибо! <br />
			<i>19.12.2015 00:32:00, geraneto.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415000</link>
			<guid>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message415000</guid>
			<pubDate>Sat, 19 Dec 2015 00:32:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>C# API — tik4net на GitHub</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414999">C# API — tik4net на GitHub</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Впечатляющая работа! Я использовал старую устаревшую версию, но это просто отлично, без сомнений! Сейчас тестирую! <br />
			<i>18.12.2015 08:49:00, normangon.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414999</link>
			<guid>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414999</guid>
			<pubDate>Fri, 18 Dec 2015 08:49:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>C# API — tik4net на GitHub</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414998">C# API — tik4net на GitHub</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Выпущена версия 1.4.0.0: Исправлен подсчёт длины слова (благодарность h44z) Починено управление пользователями Hotspot Рефакторинг Async API (очистка) Наслаждайтесь, D <br />
			<i>27.10.2015 22:54:00, danikf.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414998</link>
			<guid>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414998</guid>
			<pubDate>Tue, 27 Oct 2015 22:54:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>C# API — tik4net на GitHub</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414997">C# API — tik4net на GitHub</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Опубликована версия 1.3.0.0. Новые сущности высокого уровня: пользователи Hotspot, интерфейс (eth/wlan) var list = Connection.LoadAll&lt;InterfaceWireless.WirelessRegistrationTable&gt;(); Наслаждайтесь, D <br />
			<i>16.10.2015 20:32:00, danikf.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414997</link>
			<guid>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414997</guid>
			<pubDate>Fri, 16 Oct 2015 20:32:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>C# API — tik4net на GitHub</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414996">C# API — tik4net на GitHub</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			У нас в офисе есть тестовая площадка, и мы довольно активно используем функцию Hotspot, так что с удовольствием поможем протестировать её для вас. <br />
			<i>01.10.2015 05:43:00, MarkLFT.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414996</link>
			<guid>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414996</guid>
			<pubDate>Thu, 01 Oct 2015 05:43:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>C# API — tik4net на GitHub</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414995">C# API — tik4net на GitHub</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Выпущена новая версия 1.2.2.0 с поддержкой сущностей пользователей хотспота (бета). Использование tik4net.Objects; &nbsp;<br />using tik4net.Objects.Ip.Hotspot; &nbsp;<br /><br />var user = new HotspotUser() &nbsp;<br />{ &nbsp;<br /> &nbsp; &nbsp;Name = "TEST", &nbsp;<br /> &nbsp; &nbsp;LimitUptime = "1:00:00", &nbsp;<br /> &nbsp; &nbsp;Password = "secretpass" &nbsp;<br />}; &nbsp;<br /><br />_connection.Save(user); &nbsp;<br /><br />Приятного использования, D <br />
			<i>30.09.2015 21:15:00, danikf.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414995</link>
			<guid>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414995</guid>
			<pubDate>Wed, 30 Sep 2015 21:15:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>C# API — tik4net на GitHub</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414994">C# API — tik4net на GitHub</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет! Очень скоро, примерно через неделю, я начну импортировать объекты hotspot, но мне нужны бета-тестеры, так как я сам эту функцию не использую. Если хочешь поучаствовать в бета-тестировании, буду благодарен за помощь. Либо можешь создать свои собственные классы (см. атрибуты TikEntity и TikProperty) и использовать их с O/R маппером в стиле расширений. Или же использовать API, похожий на ADO — управлять hotspot через стандартный интерфейс команды «Execute», как и в других библиотеках D. <br />
			<i>30.09.2015 19:20:00, danikf.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414994</link>
			<guid>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414994</guid>
			<pubDate>Wed, 30 Sep 2015 19:20:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>C# API — tik4net на GitHub</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414993">C# API — tik4net на GitHub</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Это похоже на отличный проект, который будет очень полезен. Спасибо, что поделились им с нами. Я только что скачал его и потратил некоторое время, изучая примеры и классы, но не заметил ничего, связанного с Hotspot, в частности с созданием и удалением пользовательских аккаунтов. Есть ли такая функция в библиотеке? Если нет, планируете ли вы добавить её в ближайшее время? Ещё раз большое спасибо. Марк <br />
			<i>30.09.2015 07:49:00, MarkLFT.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414993</link>
			<guid>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414993</guid>
			<pubDate>Wed, 30 Sep 2015 07:49:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>C# API — tik4net на GitHub</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414992">C# API — tik4net на GitHub</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Пример использования высокоуровневого API (ветка dev на GitHub): // обновить IP на интерфейсе dhcp-client<br />connection.LoadAll&lt;IpDhcpClient&gt;().First().Release(connection); <br />
			<i>22.09.2015 20:45:00, danikf.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414992</link>
			<guid>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414992</guid>
			<pubDate>Tue, 22 Sep 2015 20:45:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>C# API — tik4net на GitHub</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414991">C# API — tik4net на GitHub</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Выпущена новая версия 1.2.0.0 с поддержкой enum (в качестве значений полей) и генераторами кода сущностей на C#. Наслаждайтесь, D <br />
			<i>20.09.2015 12:29:00, danikf.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414991</link>
			<guid>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414991</guid>
			<pubDate>Sun, 20 Sep 2015 12:29:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>C# API — tik4net на GitHub</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414990">C# API — tik4net на GitHub</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Выпущена новая версия с обновлениями. Добавлены версии для .NET 3.5, .NET 4.0 и .NET 4.5.2. <br />
			<i>16.09.2015 17:31:00, danikf.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414990</link>
			<guid>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414990</guid>
			<pubDate>Wed, 16 Sep 2015 17:31:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>C# API — tik4net на GitHub</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414989">C# API — tik4net на GitHub</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я только что опубликовал свой API-клиент для .NET. Он реализует выполнение параллельных запросов, которые легко обрабатываются благодаря интерфейсу, похожему на ADO.NET, и расширениям с O/R маппером для поддержки строго типизированного опыта (поддерживает как одиночные сущности, так и списки сущностей). Пожалуйста, оставляйте сообщения в этой теме, если вам нужна реализация какой-то функции или есть вопросы.<br /><br />Репозиторий: <noindex><a href="https://github.com/danikf/tik4net" target="_blank" rel="nofollow" >https://github.com/danikf/tik4net</a></noindex> &nbsp;<br />Вики: <noindex><a href="https://github.com/danikf/tik4net/wiki" target="_blank" rel="nofollow" >https://github.com/danikf/tik4net/wiki</a></noindex> &nbsp;<br />Как использовать: <noindex><a href="https://github.com/danikf/tik4net/wiki/How-to-use-tik4net-library" target="_blank" rel="nofollow" >https://github.com/danikf/tik4net/wiki/How-to-use-tik4net-library</a></noindex> &nbsp;<br />NuGet пакет: <noindex><a href="https://www.nuget.org/packages/tik4net/" target="_blank" rel="nofollow" >https://www.nuget.org/packages/tik4net/</a></noindex> &nbsp;<br />Релизы (рекомендуется использовать NuGet пакет): &nbsp;<br />tik4net-3.5.0.zip (1.72 MB) &nbsp;<br />tik4net-3.4.0.zip (1.44 MB) &nbsp;<br /><br />Функции: &nbsp;<br />- ITikConnection низкоуровневый API (отправка команд / чтение ответов, асинхронные команды) &nbsp;<br />- API, похожий на ADO.NET (ITikCommand + различные методы Execute…) &nbsp;<br />- O/R маппер для сущностей (connection.LoadList()) &nbsp;<br />- В релизе есть генераторы C# кода для частичной автоматизации генерации кастомных сущностей из работающего роутера Mikrotik и официальной документации Mikrotik wiki &nbsp;<br />- API-SSL поддержка &nbsp;<br />- Поддержка нового процесса логина Mikrotik (начиная с версии 6.43) &nbsp;<br />- Скомпилированные dll для .NET 3.5, 4.0, 4.5.x, 4.6.x, netcoreapp1.1, netcoreapp2.0, netstandard1.3, netstandard1.4, netstandard1.6 &nbsp;<br />- Работает с Xamarin и другими .NET рантаймами на базе Mono &nbsp;<br />- Загружайте dll только если вы не можете использовать NuGet пакет или исходники с GitHub &nbsp;<br /><br />Примеры:<br /><br />Для примеров чтения/записи смотрите страницу с wiki по сравнению API и примерами CRUD.<br /><br />Чтение и вывод identity роутера Mikrotik:<br /><br />using (ITikConnection connection = ConnectionFactory.CreateConnection(TikConnectionType.Api)) &nbsp;<br />{ &nbsp;<br /> &nbsp;connection.Open(HOST, USER, PASS); &nbsp;<br /> &nbsp;ITikCommand cmd = connection.CreateCommand("/system/identity/print"); &nbsp;<br /> &nbsp;Console.WriteLine(cmd.ExecuteScalar()); &nbsp;<br />}<br /><br />Пример асинхронной команды Torch:<br /><br />using (ITikConnection connection = ConnectionFactory.CreateConnection(TikConnectionType.Api)) &nbsp;<br />{ &nbsp;<br /> &nbsp;connection.Open(HOST, USER, PASS); &nbsp;<br /> &nbsp;var loadingContext = connection.LoadAsync&lt;ToolTorch&gt;( &nbsp;<br /> &nbsp; &nbsp;torchItem =&gt; Console.WriteLine(torchItem.ToString()), &nbsp;<br /> &nbsp; &nbsp;error =&gt; Console.WriteLine(error.ToString()), &nbsp;<br /> &nbsp; &nbsp;connection.CreateParameter("interface", interfaceName), &nbsp;<br /> &nbsp; &nbsp;connection.CreateParameter("port", "any"), &nbsp;<br /> &nbsp; &nbsp;connection.CreateParameter("src-address", "0.0.0.0/0"), &nbsp;<br /> &nbsp; &nbsp;connection.CreateParameter("dst-address", "0.0.0.0/0")); &nbsp;<br /><br /> &nbsp;Console.ReadLine(); &nbsp;<br /> &nbsp;loadingContext.Cancel(); &nbsp;<br />}<br /><br />Чтение всех записей лога:<br /><br />var logs = connection.LoadList&lt;Log&gt;(); &nbsp;<br />foreach (Log log in logs) &nbsp;<br />{ &nbsp;<br /> &nbsp; &nbsp;Console.WriteLine("{0}[{1}]: {2}", log.Time, log.Topics, log.Message);  <br />}<br /><br />Управление firewall:<br /><br />// найти первое правило firewall &nbsp;<br />var firstFirewallRule = connection.LoadAll&lt;FirewallFilter&gt;().First();<br /><br />// создать новое правило firewall и поставить его первым в списке &nbsp;<br />var firewallFilter = new FirewallFilter() &nbsp;<br />{ &nbsp;<br /> &nbsp; Chain = FirewallFilter.ChainType.Forward, &nbsp;<br /> &nbsp; Action = FirewallFilter.ActionType.Accept, &nbsp;<br />}; &nbsp;<br />connection.Save(firewallFilter); &nbsp;<br />connection.Move(firewallFilter, firstFirewallRule);<br /><br />_ПРИМЕЧАНИЕ: пожалуйста, не используйте устаревшую несовместимую версию 0.9.7 tik4net с <noindex><a href="https://code.google.com/p/mikrotik4net/._" target="_blank" rel="nofollow" >https://code.google.com/p/mikrotik4net/._</a></noindex> &nbsp;<br />tik4net-3.3.0.zip (1.42 MB) <br />
			<i>27.08.2015 21:54:00, danikf.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414989</link>
			<guid>http://mikrotik.moscow/forum/forum57/87240-c_-api-_-tik4net-na-github/message414989</guid>
			<pubDate>Thu, 27 Aug 2015 21:54:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
