/ / Нуждаете се от начин да комуникирате с Unix машината, използвайки WPF [закрит] - wpf, unix

Нуждаете се от начин да комуникирате с машина Unix посредством WPF приложение [затворен] - wpf, unix

Създавам приложение в Windows OS използвайкиWPF (C # като код зад) с данните, съхранявани в Unix машината, която е в същата мрежа. Моето приложение се нуждае от начин да комуникира с машината Unix, за да получи данните от него и да го покаже на Windows UI (създаден в WPF).

Приложението ми също трябва да знае всички Unix машини, свързани в мрежата чрез излъчване.

Какъв е най-добрият начин за свързване към Unix машини с моето WPF приложение за гореспоменатите изисквания?

Отговори:

1 за отговор № 1

Ако данните, които искате да използвате, са базирани на файлове, виеможе да използва ftp или samba сървъри на unix. Едно от предимствата на samba сървъра е, че той има способността да излъчва и позволява откриването на ресурсите си в мрежата чрез netbios. Това ще отговаря на вашето изискване за излъчване.

Ако съхранението на базата на файлове не е достатъчно, помислете за уеб услуга. Тъй като пишете приложение в .NET, най-лесно ще е да използвате Mono в Unix. Можете да напишете уеб услуга в Mono http://www.mono-project.com/Writing_a_WebService които ще слушат заявки от вашето WPF приложение.

Признавам, че това решение не е най-доброто от гледна точка на производителност, мащабируемост и преносимост, но това е най-бързото за .net разработчик.

Другото изискване, свързано с това приложениетрябва да знае, че списъкът с Unix машини е по-сложен. Подходът на грубата сила би бил да имаме главен сървър, който ще слуша за уведомления от Unix машини, когато те оживеят. Той ще даде този списък на WPF клиента.

Ако искате да използвате по-ефективни, преносими решения и имате повече ресурси за развитие, можете да реализирате спокоен сервиз на Unix страна с една от тези рамки REST рамки

Най-сложен подход по отношение на развитиетовреме е да се използва гола TCP ip. Това ще изисква много кодиране както на клиента, така и на сървъра и дълъг процес на стабилизиране. Отново зависи от това колко сложно ще бъде взаимодействието ви с данните.


0 за отговор № 2

"с данните, съхранени в Unix машината, която е в същата мрежа", ако приемеш, че е в база данни, бих препоръчал някаква ORM (като NHibernate)