double exact de Using OpenNETCF.Net.Ftp inside a class instead of inside a Windows FormEn utilisant OpenNETCF.Net.Ftp l'intérieur d'une classe personnalisée au lieu de l'intérieur d'un Windows Form
Jusqu'à présent, je suis en utilisant un objet FTP dans un formulaire Windows. objet FTP fonctionne dans un thread séparé, afin d'assurer que mon application ne gèle pas, j'utiliser le morceau de code suivant:
private void OnResponse(string response)
{
if (this.InvokeRequired)
{
this.Invoke(new StringDelegate(OnResponse), new object[] { response });
return;
}
} //end of OnResponse
Je ne suis pas tout à fait clair sur ce qu'est un délégué de chaîne est, mais cela fonctionne .
Cependant, je suis en train de refactoriser et je souhaite cacher le ftp dans une classe. Ma question est comment puis-je m'assurer que le thread principal ne gèle pas? Toutes les références en ligne concernant l'organisation d'événements à l'intérieur des classes ont un sens, mais je n'ai pas trouvé un seul exemple où l'application est multithread. Ma plus grande préoccupation serait InvokeRequired.
Dans le code ci-dessus "Ceci" est une forme. Si je cache l'objet ftp dans une classe comme les suivants:
abstract class MyClass
{
//data members
private FTP _ftp;
//other data members, methods, and properties etc
}
« Ce » devient un objet de MyClass. Je ne suis pas sûr si la propriété InvokeRequired est implémentée sur la classe (peut-être devrais-je la faire implémenter une interface spéciale qui a cette propriété?). Ou peut-être qu'il me manque quelque chose et je ne suis pas censé utiliser des objets multithread dans les classes?
J'utilise C# et asp.net 2.0 avec VS 2008.
duplication possible de [Utilisation de OpenNETCF.Net.Ftp dans une classe au lieu d'un Windows Form] (http://stackoverflow.com/questions/899328/using-opennetcf-net-ftp-inside-a-class- Au lieu de l'intérieur d'une fenêtre-forme) –