„System.Web.HttpContext nie może być serializowany, ponieważ nie ma konstruktora bez parametrów”.
Stworzyłem usługę internetową, której inne witryny mogą używać do przechowywania błędów w mojej bazie danych. Mogą wtedy wejść na moją stronę, aby zobaczyć ich błędy, przeszukać błędy, błędy filtrowania itp. Jednak otrzymuję następujący błąd dla mojej usługi internetowej:
System.Web.HttpContext nie może być serializowany, ponieważ nie ma konstruktora bez parametrów.
Opis: wystąpił nieobsługiwany wyjątek podczas wykonywania bieżącego żądania internetowego. Zapoznaj się ze śledzeniem stosu, aby uzyskać więcej informacji o błędzie i miejscu jego powstania.
Szczegóły wyjątku: System.InvalidOperationException: System.Web.HttpContext nie może być serializowany, ponieważ nie ma konstruktora bez parametrów.
Usługa internetowa zawiera następującą funkcję:
[WebMethod] public static void LogError(HttpContext context, Exception exception, string APIKey) { //Log the error }
Witryna zewnętrzna, która używa usługi WWW do rejestrowania wyjątków, zawiera następujący kod w pliku global.asax:
void Application_Error(object sender, EventArgs e) { // Code that runs when an unhandled error occurs WebService.Errors.ErrorHandler.LogError(HttpContext.Current, Server.GetLastError(), "NOLDFHOI"); }
Jak mogę uzyskać HttpContext z ich witryny do mojej funkcji z serwisu internetowego?