2013-06-14 7 views
5

Sto utilizzando TweetSharp per inviare tweet dalla mia applicazione C#. La mia applicazione è un gioco basato su XNA e alla fine di ogni partita i punteggi vengono automaticamente inviati a un account Twitter.La pubblicazione di un tweet con TweetSharp in C# richiede molto tempo

Il tweet viene pubblicato ogni volta senza errori, ma ogni volta che lo fa, il gioco si blocca per 1,5 secondi.

sto usando in questo modo di inviare il codice:

twitterService.SendTweet(new SendTweetOptions { Status = status }); 

Quale potrebbe essere la soluzione per ridurre tale orario di esposizione?

+1

probabilmente non può accelerarlo, ma si potrebbe mettere in un operaio di fondo (http: // msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker(v=vs.95).aspx) in modo che il programma continui mentre viene eseguito. –

+0

Grazie per la risposta veloce! Ho usato una caratteristica più semplice di XNA per il multithreading e funziona come un incantesimo! – thegameg

risposta

4

Se si utilizza .NET 4.5 per eseguire qualcosa in un nuovo thread si esegue questa operazione

// this is a better way to run something in the background 
// this queues up a task on a background threadpool 
await Task.Run(() => { 
    twitterService.SendTweet(new SendTweetOptions { Status = status }); 
}); 

// this method of running a task in the background creates unnecessary overhead 
Task.Factory.StartNew(() => { 
    twitterService.SendTweet(new SendTweetOptions { Status = status }); 
}); 
Problemi correlati