How to Make an Engineering Support Request for IronPrint

This article was translated from English: Does it need improvement?
Translated
View the article in English

Wir schätzen es sehr, dass Sie sich die Zeit nehmen, uns zu helfen, IronPrint zu verbessern und alle Probleme zu lösen, die Sie möglicherweise haben. Die überwiegende Mehrheit unserer Funktionen und Updates wird durch Kundenanfragen angetrieben, und wir betrachten die Softwareentwicklung als ein zweiseitiges Gespräch zwischen unseren Kunden und unseren Entwicklern.

Um effektive Unterstützung bieten zu können, muss unser Ingenieurteam Probleme effizient reproduzieren und Regressionstests erstellen. Die meisten Probleme, denen wir begegnen, sind plattform- oder laufzeitspezifisch, daher benötigen wir sehr präzise Informationen.

Bitte senden Sie alle Support-Anfragen an support@ironsoftware.com.

Eine kurze, klare Beschreibung des Themas

Ein guter technischer Bericht muss genügend Informationen enthalten, um das Problem zu reproduzieren. Stellen Sie sich vor, Sie berichten das Problem einem Kollegen oder posten es auf Stack Overflow.

Ein Fehlerbericht sollte enthalten:

  • Eine klare Beschreibung der aufgetretenen Symptome und etwaige Ideen zu deren Ursache.
  • Protokolldateien (siehe unten)
  • Umgebung: IronPrint-Version, Betriebssystem und .NET-Laufzeitversion, (genaue Cloud-Umgebung, falls zutreffend)

Bitte fügen Sie so viele wie möglich der folgenden Punkte hinzu, um Ihr Ticket zu priorisieren:

  • Ein Beispielprojekt, das das Problem vollständig reproduziert
  • Ein Stack Overflow-ähnlicher Codeausschnitt (bitte keine Screenshots vom Code)
  • Screenshots von Symptomen/Ausnahmen
  • Text der Ausnahmemeldung (Exception + Inner Exception)
  • Der spezifische Debugging-Punkt, an dem der Prozess im Code nicht mehr funktioniert oder beendet wird
  • Eingabeparameter und Ressourcen: Bild und PDF

Ein Beispielprojekt anhängen

Ein Beispielprojekt, das ein ganzes Problem isoliert abbildet, ermöglicht es unseren Ingenieuren, ein Problem einfach und schnell zu erkennen und zu verstehen.

Dies ist der Goldstandard für die Reproduzierbarkeit und wird in der Regel eine Support-Anfrage an die Spitze des Stapels beschleunigen.

Unser bevorzugtes Format ist ein gezipptes, einfaches, eigenständiges .NET-Console- oder Webanwendungsprojekt:

  • Bitte aktivieren Sie die vollständige Freigabe, wenn Sie einen Google Drive- oder Dropbox-Link senden.
  • Der Bin-Ordner ist nicht erforderlich, da seine Einbeziehung die Zip-Datei unnötig aufbläht.

Bitte auch einschließen:

  • Eingabedateien (funktionierend und nicht funktionierend), einschließlich PDFs und Bilder.
// 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
$vbLabelText   $csharpLabel
  • Dieser Codeblock veranschaulicht, wie Ausnahmen in einer .NET-Anwendung gehandhabt werden.
  • Er protokolliert die Hauptausnahme sowie alle inneren Ausnahmen in der Konsole, was für Debugging-Zwecke nützlich sein kann.
Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 34,016 | Version: 2025.11 gerade veröffentlicht