Komunikacja między dwoma aplikacjami

0

Muszę zrobić aplikację i serwis w C#. Serwis ma czerpać dane z zasobów tej aplikacji.
Czy ktoś wie jak to zrobić? Słyszałem, że da się poprzez SendMessage, ale niestety wszystkie przykłady tego typu które znalazłem są albo zbyt słabo opisane, albo nie dotyczą przesyłania zasobów.

Z góry dzięki :)

0

Jaką aplikację, jaki serwis, jakie dane?

0

Windows Service, który jako serwis nie ma interfejsu dla użytkownika więc, żeby nim zarządzać (czytaj wpisać ustawienia) muszę mieć osobną aplikacje (win. form?) w której użytkownik zapisywałby dane (string i int), z których to danych korzystałby serwis.

Dodam, że serwis mam już gotowy.

0

Shared memory, Named pipes, TCP/IP, Baza danych (np. jesli serwis juz i tak z niej korzysta). W kolejnosci od najszybszych i w zasadzie od najbardziej surowych do wolniejszych, ale wygodniejszych.

0

A to nie można zapisać konfiguracji w pliku, a usługa by ją sobie stamtąd ładowała?

0
somekind napisał(a)

A to nie można zapisać konfiguracji w pliku, a usługa by ją sobie stamtąd ładowała?

No niestety, nie mam takiej opcji, chyba, że plik byłby zabezpieczony przed usuwaniem, a jak wynika z odpowiedzi na mój poprzedni temat jest to niemożliwe lub b. trudne do napisania w C#.

0

Nikt tam nie napisal, ze jest to trudne. Ustawianie praw dla pliku to nie jest jakas wielka filozofia w C#, tyle ze dzialac bedzie tylko na NTFS (w przypadku win oczywiscie) i do tego uzytkownik zabezpieczajacy musi miec prawa zmieniac prawa ;)
PS. Plik jest wariacja bazy danych.

0

A czy mógłby mi ktoś pokazać sposób jak zrobić taki "nieusuwalny" plik w C#?

Btw.
Wyjde na jakiegoś lamera pewnie, ale co to jest NTFS? [wstyd]

1

co to jest NTFS?

System plików w Windowsie.

mógłby mi ktoś pokazać sposób jak zrobić taki "nieusuwalny" plik w C#?

Nie żeby się nie dało... Ale czemu musi być "nieusuwalny"?
I pamiętaj że zawsze może się trafić coś z większymi uprawnieniami co ci ten plik i tak usunie...

0

Piszę aplikacje, która ma nadzorować pracę dziecka przy komputerze i chciałbym, żeby taki dzieciak nie usunął po prostu ustawień, czy innego pliku z danego folderu.

0

Bardzo proste -> jesli pliku nie ma aplikacja blokuje na maxa, jesli jest, to tak jak napisane. Wtedy nie bedzie sie oplacalo go usuwac ;) Tak czy inaczej musisz te ustawienia gdzies zapisac, bo jak mniemam maja byc dostepne po ponownym wlaczeniu kompa. mozesz je co najwyzej zaszyfrowac, zeby bylo trudniej.

0

Myślę, ze wystarczyłoby gdyby do pliku/katalogu z konfiguracją miało dostęp tylko konto, na którym pracuje usługa, a konto dziecka nie.

0

W takim razie jak ustawić takie ograniczenia dla danego konta?

0

Jesli konto dziecka ma prawa admina to sobie moze takie ograniczenie samo sciagnac.
@Pandemon: recznie czy programowo?

0

Wolałbym programowo, chociaż ręcznie też może być, dłuższy readme będzie ;)

PS
Próbowałem ograniczyć "ręcznie" poprzez wyłączenie paru opcji w folderze testowym (właściwości -> zabezpieczenia -> edytuj (na użytkownikach) i odjąłem im wszystkie prawa. Efektem było to, że znikła mi grupa "użytkownicy", a z drugiego konta ("zwykły użytkownik") nadal widziałem i mogłem usuwać pliki w tym folderze. Co zrobiłem nie tak?

0

W druga strone: dla konta Wszyscy zabron (deny) usuwania pliku.

0

Nie wiem gdzie to ustawić. Jak wchodze we właściwości -> zabezpieczenia -> zaawansowane -> wybieram grupę "użytkownicy" lub "użytkownicy uwierzytelnieni" -> zmień uprawnienia to dalej nie mogę nic zrobić, wszystkie pola są nieaktywne (chociaż niektóre zaznaczone), a przecież jestem na koncie administratora :-/

0

XP, Vista, czy 7? Masz dodac nowego uzytkownika Wszyscy i odebrac mu prawa do usuwania.

0

Windows 7.
A nie da się zrobić tak, żeby dla pojedynczego pliku dla danego użytkownika ustawić blokadę na usuwanie i modyfikacje? Programowo, a nie manualnie.

0

Pewnie, ze sie da, ale jak nie umiesz szukac w dokumentacji i nie umiesz tego zrobic recznie (a zatem i sprawdzic czy sie powiodlo programowo) to moze byc ciezko.

http://msdn.microsoft.com/en-us/library/system.io.file.setaccesscontrol%28v=VS.100%29.aspx

0

Jeszcze jeden sposób:

Przesylanie obiektow przez MSMQ

0

Zawsze można też to zrobić przez wiersz poleceń. Może będzie łatwiej...

0

Zawsze możesz ukryć dany folder lub zabezpieczyć hasłem :P. Zależy też od wieku twojego dziecka i jego inteligencji jak bardzo musisz to chronić :). Jeśli chodzi o program to niestety nie mogę pomóc :(

0

Ok. Sprawa rozwiązana. Temat do zamknięcia.
Wszystkim udzielającym się tu wielkie dzięki, szczególnie dla Johnego :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1