Comment soumettre une demande d'assistance technique pour IronPrint
Nous vous remercions d'avoir pris le temps de nous aider à améliorer IronPrint et à résoudre les problèmes que vous pourriez rencontrer. La grande majorité de nos fonctionnalités et mises à jour sont motivées par les demandes des clients, et nous considérons le développement logiciel comme une conversation à double sens entre nos clients et nos développeurs.
Pour fournir un support efficace, notre équipe d'ingénieurs doit répliquer efficacement les problèmes et créer des tests de régression. La plupart des problèmes que nous rencontrons sont spécifiques à la plateforme ou au runtime, donc nous avons besoin d'informations très concises.
Veuillez envoyer toutes les demandes de support à support@ironsoftware.com.
Une description concise et claire du problème
Un bon rapport technique doit inclure suffisamment d'informations pour reproduire le problème. Imaginez que vous signalez le problème à un collègue ou que vous le publiez sur Stack Overflow.
Un rapport de bogue doit contenir :
- Une description claire des symptômes rencontrés et toute idée que vous pourriez avoir à propos de leur cause.
- Fichiers de journalisation (voir ci-dessous)
- Environnement : version d'IronPrint, système d'exploitation et version du runtime .NET (environnement cloud exact, le cas échéant).
Veuillez inclure autant de ces éléments que possible, pour prioriser votre ticket :
- Un projet exemple qui reproduit entièrement le problème
- Un extrait de code de style Stack Overflow (veuillez ne pas faire de capture d'écran du code)
- Captures d'écran des symptômes/exceptions
- Texte du message d'exception (Exception + Exception interne)
- Le point de débogage spécifique où le processus s'arrête ou sort dans le code
- Paramètres et ressources d'entrée : image et PDF
Comment attacher un projet exemple
Un projet exemple qui reproduit avec précision un problème entier isolément permet à nos ingénieurs de reconnaître et comprendre simplement et rapidement un problème.
C'est la norme d'or pour la reproductibilité et accélérera généralement une demande de support vers le haut de la pile.
Notre format préféré est un projet autonome simple sous forme d'application console ou web .NET, zippée :
- Veuillez activer le partage complet lors de l'envoi d'un lien Google Drive ou Dropbox.
- Le dossier Bin n'est pas requis, car son inclusion augmente le zip.
Veuillez également inclure :
- Fichiers d'entrée (fonctionnels et non fonctionnels), y compris les PDF et les images.
// Example of how to capture exceptions and log them
using System;
namespace IronPrintSupportRequest
{
class Program
{
static void Main(string[] args)
{
try
{
// Simulate a part of your process where an exception might occur
ProcessIronPrintJob();
}
catch (Exception ex)
{
// Log the exception details
Console.WriteLine("An error occurred:");
Console.WriteLine($"Message: {ex.Message}");
Console.WriteLine($"Stack Trace: {ex.StackTrace}");
// If there's an inner exception, log that as well
if (ex.InnerException != null)
{
Console.WriteLine("Inner Exception:");
Console.WriteLine($"Message: {ex.InnerException.Message}");
Console.WriteLine($"Stack Trace: {ex.InnerException.StackTrace}");
}
}
}
static void ProcessIronPrintJob()
{
// Simulate a function that may throw an exception
throw new InvalidOperationException("Simulated exception for demonstration purposes.");
}
}
}
// Example of how to capture exceptions and log them
using System;
namespace IronPrintSupportRequest
{
class Program
{
static void Main(string[] args)
{
try
{
// Simulate a part of your process where an exception might occur
ProcessIronPrintJob();
}
catch (Exception ex)
{
// Log the exception details
Console.WriteLine("An error occurred:");
Console.WriteLine($"Message: {ex.Message}");
Console.WriteLine($"Stack Trace: {ex.StackTrace}");
// If there's an inner exception, log that as well
if (ex.InnerException != null)
{
Console.WriteLine("Inner Exception:");
Console.WriteLine($"Message: {ex.InnerException.Message}");
Console.WriteLine($"Stack Trace: {ex.InnerException.StackTrace}");
}
}
}
static void ProcessIronPrintJob()
{
// Simulate a function that may throw an exception
throw new InvalidOperationException("Simulated exception for demonstration purposes.");
}
}
}
' Example of how to capture exceptions and log them
Imports System
Namespace IronPrintSupportRequest
Friend Class Program
Shared Sub Main(ByVal args() As String)
Try
' Simulate a part of your process where an exception might occur
ProcessIronPrintJob()
Catch ex As Exception
' Log the exception details
Console.WriteLine("An error occurred:")
Console.WriteLine($"Message: {ex.Message}")
Console.WriteLine($"Stack Trace: {ex.StackTrace}")
' If there's an inner exception, log that as well
If ex.InnerException IsNot Nothing Then
Console.WriteLine("Inner Exception:")
Console.WriteLine($"Message: {ex.InnerException.Message}")
Console.WriteLine($"Stack Trace: {ex.InnerException.StackTrace}")
End If
End Try
End Sub
Private Shared Sub ProcessIronPrintJob()
' Simulate a function that may throw an exception
Throw New InvalidOperationException("Simulated exception for demonstration purposes.")
End Sub
End Class
End Namespace
- Ce bloc de code illustre comment gérer les exceptions dans une application .NET.
- Il consigne l'exception principale ainsi que toutes les exceptions internes dans la console, ce qui peut être utile à des fins de débogage.

