L'extrait de code ci-dessous utilise OPOS .NET pour ouvrir une imprimante POS pour l'impression. Cela fonctionne correctement lorsqu'il est exécuté dans le cadre d'une application autonome. Lorsqu'il est exécuté par un service Windows, l'appel à GetDevice (...) renvoie toujours null.OPOS PosExplorer.GetDevice() renvoie null lorsqu'il est exécuté dans Windows Service
explorer = new PosExplorer();
device_info = explorer.GetDevice(DeviceType.PosPrinter, PrinterName);
printer = (PosPrinter)explorer.CreateInstance(device_info);
printer.Open();
printer.Claim(1000);
printer.DeviceEnabled = true;
L'imprimante est une Epson TM-U220B. Existe-t-il un problème de sécurité à résoudre avant qu'un service ait accès aux terminaux de point de vente? Quelqu'un peut-il recommander une bonne source d'informations concernant le développement des services Windows qui utilisent OPOS .NET?
Avez-vous résolu ce problème? J'ai un problème où Open() échoue lors de l'exécution dans ASP.NET pour un périphérique particulier indépendamment de l'utilisateur IIS (mais fonctionne bien pour tous les autres périphériques OPOS). –
@Peter Beacom j'ai aussi fait face à un problème similaire. Mais le problème ne se produit pas pendant que j'utilise Visual Studio 2005 dans Windows 7 machine. Et cela fonctionne bien sur tous les IDE dans Windows XP. – TutuGeorge
Ce problème a été résolu. Comme suggéré par Doobi, le problème n'était pas dans le code mais dans les paramètres de sécurité du poste de travail. –