2017-12-28 10 views
0

Ich stelle meine Webrollenanwendung auf azure Cloud bereit. Es gibt einen kleinen Codeblock, der in einem separaten Thread ausgeführt werden muss. Mein Codeblock ist wie folgt:Azure Cloud-Dienst: System.Threading.Thread funktioniert nicht

private static bool Method1() 
{ 
    ... 
    ... 
    System.Threading.Thread thread = new System.Threading.Thread(() => Method2()); 
    thread.Start(); 
    ... 
    ... 
} 

private static void Method2() 
{ 
    .... 
    .... 
} 

Ich habe diesen Code in meinem lokalen System getestet. es funktioniert gut. Um zu überprüfen, was genau passiert, habe ich den Code in die Protokolldatei geschrieben. Im Azure-Cloud-Dienst wird Method1() ohne Fehler ausgeführt. Sogar der Codeblock wurde vor und nach dem Definieren und Starten des Threads erfolgreich ausgeführt. aber Method2() wird niemals ausgeführt.

Ist Threading nicht auf azure Cloud Service erlaubt? Oder ist die Implementierung von Threading für azure Cloud Service anders?

Danke ...

+0

Threading ist in CS zulässig. Siehe https://stackoverflow.com/questions/5041153/how-to-create-multiple-threads-in-windows-azure-worker-role – Ashok

Antwort

1

Es ist sehr schwer aus Ihrer Beschreibung zu erzählen. Threading ist erlaubt. Eine Sache zu berücksichtigen ist, dass das Timing zwischen Ihrem Computer und der Azure VM unterschiedlich sein wird.

Eine mögliche Ursache, über die ich nachdenken kann, ist die Prozessbeendigung, bevor der Thread eine geplante Ausführung ausführen konnte - eine Ausnahme, die Ihre Anwendung beendet oder den Hauptthread beendet.

Verwandte Themen