2008-11-06 7 views
19

Szukam przekonwertować małą aplikację konsoli .NET do usługi systemu Windows. Chciałbym zbudować dwie wersje, jedną wykorzystującą .NET 2.0 i drugą z .NET 3.5.Najlepszy przewodnik do tworzenia usług Windows w języku C# .NET?

Czy istnieją radykalnie różne podejścia, które należy podjąć, czy też wersja 2.0 będzie mniej więcej odpowiednikiem wersji 3.5? Gdzie jest dobre źródło informacji (tj. Przewodnik internetowy), który może przeprowadzić mnie przez etapy konfigurowania usługi?

Dzięki! P.A.

Odpowiedz

1

Należy pamiętać, że .NET 3.5 to zestaw dodatkowych bibliotek na .NET 2.0, więc jeśli nie planuje się korzystać z dodatkowych funkcji zapewnianych przez .NET 3.5 (lub .NET 3.0) podobnie jak LINQ lub WCF kod będzie identyczny.

Spróbuj przejrzeć dokumentację dla ServiceBase, która jest podstawową klasą, którą musisz dziedziczyć, aby zacząć wszystko.

9

W rzeczywistości .NET 3.5 ma zmienić kod C# na mały. Na przykład możesz użyć słowa kluczowego var, a do właściwości możesz użyć ukrytych zmiennych prywatnych. Wciąż opiera się na CLR 2.0.

Istnieje niezły artykuł at msdn, który mówi o usługach systemu Windows i przeprowadza użytkownika przez jego budowę.

+2

Zmienia tylko kod C#, jeśli zdecydujesz się użyć nowych funkcji językowych. Nic w języku nie zmusza do tego i nadal możesz napisać kod w "starym stylu .NET 2.0", jeśli chcesz. –

1

This Uważam, że to przyzwoite przejście dzięki zrzutom ekranu i próbkom kodu. Myślę, że być może to było coś, co użyłem do pierwszej usługi Windows, którą napisałem. Myślę, że został napisany ponownie w .NET 1.1, ale powinien pomóc ci przejść przez ten proces. Jeśli chodzi o różnice między 2,0 a 3,5, powiedziałbym, że może/będzie tyle różnic, ile chcesz. Nie wierzę, że będziesz musiał zmienić cokolwiek, ale jak wspomniały inne plakaty i jak można znaleźć na całym SO, istnieje wiele nowych funkcji, które mogą być bardzo korzystne, że pochodzą z .NET 3.5.

7

celu uzupełnienia odpowiedź Ricka, chciałbym zaproponować MSDN Walkthrough

Jest bardzo gadatliwy i dotyka rejestrowanie zdarzeń, jak również instalatora.

1

Istnieje co najmniej jedno miejsce, w którym kod usługi będzie wymagał uwagi, aby działało w .net2/vs2005 vs. .net35/vs2008.

Jest to szczególnie prawdziwe, jeśli napiszesz swoje usługi i instalator używania w C# 2.0 i skompilować i wdrożyć za pomocą .net35/VS2008, link poniżej może zaoszczędzić trochę czasu:

Custom Actions Changed