Marek Z. Programista
Temat: Korzystanie z DLL ki w Windows Service
Hej, pytanie zadałem już na dP link z braku odpowiedzi postanowiłem spróbować tu.Rzecz ma się następujaco: Jest serwis windowsowy nazwijmy go Event.Service, w którym korzystam ze stworzonej DLL ki zawierającej kontrakty (DataContracts) do komunikacji z serwisem WCF. Teraz w momencie uruchomienia Event.Service w trybie debug w Visual Studio to w miejscu gdzie wywołuję metodę, która korzysta z obiektów tej DLL ki serwis się tak jakby zawiesza. Jeśli usunę z tej metody fragment korzystający z obiektu DLL ki serwis działa normalnie. Poniżej fragment kodu:
Event.Service (plik MainService.cs):
private void timerMain_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
timerMain.Stop();
// Na tej metodzie serwis się "zawiesza"
_handler.ProcessMessages();
timerMain.Start();
}
Event.Service (metoda ProcessMessages()):
public void ProcessMessages()
{
if (!EventExists())
return;
// Tutaj utworzenie obiektu z zewnętrznej DLL ki
Service.DataContracts.SmsMessage message = new Service.DataContracts.SmsMessage();
}
Klasa SmsMessage to zwykła klasa opatrzona atrybutami DataContract oraz DataMember:
[DataContract]
public class SmsMessage
{
[DataMember]
public string Recipient { get; set; }
[DataMember]
public string PhoneNumber { get; set; }
}
DLL ka była kompilowana w różnych trybach (Release, Debug, x86, x64), jest również w katalogu bin serwisu.
Ma ktoś pomysł dlaczego tak się dzieje ?
Po dodaniu projektu DLL ki do solucji i dodaniu referencji bezpośrednio z projektu też to samo.Marek Z. edytował(a) ten post dnia 22.01.13 o godzinie 08:49