Jak złożyć wniosek o wsparcie techniczne dla IronPrint
Dziękujemy za poświęcony czas, aby pomóc nam poprawić IronPrint i rozwiązać wszelkie napotkane problemy. Zdecydowana większość naszych funkcji i aktualizacji wynika z próśb klientów, a tworzenie oprogramowania traktujemy jako dwustronną rozmowę między naszymi klientami a programistami.
Aby zapewnić skuteczne wsparcie, nasz zespół inżynierów musi sprawnie odtwarzać problemy i tworzyć testy regresji. Większość problemów, z którymi się spotykamy, dotyczy konkretnych platform lub środowisk uruchomieniowych, dlatego potrzebujemy bardzo zwięzłych informacji.
Prosimy o przesyłanie wszystkich próśb o wsparcie na support@ironsoftware.com.
Zwięzły, jasny opis problemu
Dobry raport techniczny musi zawierać wystarczająco informacji do odtworzenia problemu. Wyobraź sobie, że zgłaszasz problem koledze lub publikujesz go na Stack Overflow.
Zgłoszenie błędu powinno zawierać:
- Jasny opis doświadczanych objawów i wszelkie pomysły, które możesz mieć na temat ich przyczyny.
- Pliki dziennika (patrz poniżej)
- Srodowisko: Wersja IronPrint, system operacyjny i wersja środowiska .NET (dokładne środowisko chmurowe, jeśli dotyczy)
Prosimy o dołączenie wszystkich poniższych, aby nadać priorytet Twojemu zapytaniu:
- Przykładowy projekt, który w pełni odzwierciedla problem
- Fragment kodu w stylu Stack Overflow (proszę nie zamieszczać zrzutów ekranu z kodem)
- Zrzuty ekranu objawów/wyjątków
- Tekst wiadomości o wyjątku (Wyjątek + Wyjątek wewnętrzny)
- Konkretny punkt debugowania w kodzie, w którym proces przestaje działać lub się kończy
- Parametry wejściowe i zasoby: Obraz i PDF
Jak załączyć przykładowy projekt
Przykładowy projekt, który dokładnie odtwarza cały problem w izolacji umożliwia naszym inżynierom proste i szybkie rozpoznanie oraz zrozumienie problemu.
To złoty standard powtarzalności i generalnie przyspieszy wniosek o wsparcie na szczyt stosu.
Naszym preferowanym formatem jest spakowany, prosty, samodzielny projekt konsolowy lub aplikacji webowej .NET:
- Prosimy o włączenie pełnego udostępniania podczas wysyłania linku z Google Drive lub Dropbox.
- Folder Bin nie jest wymagany, ponieważ jego dołączenie zwiększa objętość pliku zip.
Prosimy również o dołączenie:
- Pliki wejściowe (działające i niedziałające), w tym PDF-y i obrazy.
// 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
- Ten blok kodu pokazuje, jak obsługiwać wyjątki w aplikacji .NET.
- Rejestruje on główny wyjątek, jak również wszelkie wyjątki wewnętrzne na konsoli, co może być przydatne do celów debugowania.

