Je dois obtenir le nom de la machine sur laquelle mon application .NET fonctionne. Quelle est la meilleure façon de procéder?Quelle est la meilleure façon de déterminer le nom de votre machine dans une application .NET?
Répondre
Tandis que d'autres ont déjà dit que les System.Environment.MachineName vous renvoie le nom de la machine, méfiez-vous ...
Cette propriété ne retourne le nom NetBIOS (et seulement si votre application dispose des autorisations EnvironmentPermissionAccess.Read). Il est possible que le nom de votre machine dépasse la longueur définie dans:
MAX_COMPUTERNAME_LENGTH
Dans ces cas, System.Environment.MachineName ne vous retourner le nom correct!
Notez également, il y a plusieurs noms de votre machine pourrait passer et Win32 il existe une méthode GetComputerNameEx qui est capable d'obtenir le nom correspondant à chacun de ces différents types de nom:
- ComputerNameDnsDomain
- ComputerNameDnsFullyQualified
- ComputerNameDnsHostname
- ComputerNameNetBIOS
- ComputerNamePhysicalDnsDomain
- ComputerNamePhysicalDnsFullyQualified
- ComputerNamePhysicalDnsHostname
- ComputerNamePhysicalNetBIOS
Si vous avez besoin de ces informations, vous êtes susceptibles d'avoir besoin d'aller à Win32 par p/invoquer, comme:
class Class1
{
enum COMPUTER_NAME_FORMAT
{
ComputerNameNetBIOS,
ComputerNameDnsHostname,
ComputerNameDnsDomain,
ComputerNameDnsFullyQualified,
ComputerNamePhysicalNetBIOS,
ComputerNamePhysicalDnsHostname,
ComputerNamePhysicalDnsDomain,
ComputerNamePhysicalDnsFullyQualified
}
[DllImport("kernel32.dll", SetLastError=true, CharSet=CharSet.Auto)]
static extern bool GetComputerNameEx(COMPUTER_NAME_FORMAT NameType,
[Out] StringBuilder lpBuffer, ref uint lpnSize);
[STAThread]
static void Main(string[] args)
{
bool success;
StringBuilder name = new StringBuilder(260);
uint size = 260;
success = GetComputerNameEx(COMPUTER_NAME_FORMAT.ComputerNameDnsDomain,
name, ref size);
Console.WriteLine(name.ToString());
}
}
Essayez Environment.MachineName. Ray a effectivement le meilleuranswer, bien que vous aurez besoin d'utiliser du code d'interopérabilité.
- 1. Quelle est la meilleure façon d'afficher le pourcentage complet dans une application CLI .Net?
- 2. Quelle est la meilleure façon d'intégrer un concepteur de rapports dans une application .NET?
- 3. Quelle est la meilleure façon de déployer des autoupdates authentifiées dans une application .NET?
- 4. Quelle est la meilleure façon de charger des données hautement réutilisées dans une application web .net
- 5. Quelle est la meilleure façon de lier votre application à l'interface graphique Swing?
- 6. Quelle est la façon la plus pythonique de déterminer l'endianisme?
- 7. Quelle est la meilleure façon de déterminer si un caractère est une lettre dans VB6?
- 8. Quelle est la meilleure façon d'échantillonner/profiler une application PyObjC?
- 9. Quelle est la meilleure façon d'initialiser une application?
- 10. Quelle est la meilleure façon de tester une application Windows CE/.NET CF?
- 11. Quelle est la meilleure façon d'utiliser Response.Redirect pour un pop-up dans une application Web .NET?
- 12. Quelle est la meilleure façon d'intégrer de la vidéo dans une application Windows Mobile 6?
- 13. Quelle est la meilleure façon de mettre en œuvre une machine d'état de l'interface utilisateur?
- 14. Quelle est la meilleure façon de gérer l'anglais et le chinois dans une application Flex?
- 15. Quelle est la meilleure façon de créer une configuration maître-esclave pour une application Web?
- 16. Quelle est la meilleure façon d'automatiser le remplacement de texte?
- 17. Quelle est la meilleure façon de déterminer si une table temporaire existe dans SQL Server?
- 18. Quelle est la meilleure façon d'implémenter la liaison de données avec une application Web?
- 19. Quelle est la meilleure façon de créer une relation tableA HABTM tableA pour une application CakePHP?
- 20. Quelle est la meilleure façon de formater C# dans WordPress?
- 21. Quelle est la meilleure façon de fournir une application de boutique en ligne à plusieurs clients?
- 22. Quelle est la meilleure façon d'automatiser le changement de nom de fichier?
- 23. Quelle est la meilleure façon de consigner des exceptions dans Visual Basic, sur une application ASP.NET?
- 24. Quelle est la meilleure façon de dessiner cette ellipse dans une application iPhone?
- 25. Quelle est votre façon préférée de gérer le développement multiplateforme?
- 26. Quelle est la meilleure façon de planifier et d'organiser le développement d'une application en C?
- 27. Quelle est la meilleure façon d'enregistrer les informations de débogage dans une application iPhone?
- 28. Quelle est la meilleure façon de déterminer quels fichiers sources ne sont plus nécessaires?
- 29. Quelle est la meilleure façon de mettre à jour une table MsAccess dans .NET
- 30. Quelle est la meilleure façon de télécharger et d'installer à la demande des DLL dans .NET?
Cela nécessiterait SecurityPermissionFlag.UnmanagedCode, non? – icelava
Probablement, mais ma justification originale pour souligner le besoin de SecurityPermissionFlags était que personne n'en parlait du tout. Je dirais qu'en général la plupart des permissions sont accordées, ce qui laisse les situations où le nom est trop long ou un type de nom spécifique est nécessaire. –