diff --git a/.vs/SGGL_SeDin_New/v17/.wsuo b/.vs/SGGL_SeDin_New/v17/.wsuo index c277452a..91923e32 100644 Binary files a/.vs/SGGL_SeDin_New/v17/.wsuo and b/.vs/SGGL_SeDin_New/v17/.wsuo differ diff --git a/SGGL/WebAPI/App_Start/WebApiConfig.cs b/SGGL/WebAPI/App_Start/WebApiConfig.cs index c3bdd634..29c511f9 100644 --- a/SGGL/WebAPI/App_Start/WebApiConfig.cs +++ b/SGGL/WebAPI/App_Start/WebApiConfig.cs @@ -20,6 +20,8 @@ namespace WebAPI config.MapHttpAttributeRoutes(); // config.Filters.Add(new TestPermissionAttribute()); + config.Filters.Add(new GlobalExceptionFilter()); + config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{action}/{id}", diff --git a/SGGL/WebAPI/Controllers/CommonController.cs b/SGGL/WebAPI/Controllers/CommonController.cs index 086fe7aa..4b21b131 100644 --- a/SGGL/WebAPI/Controllers/CommonController.cs +++ b/SGGL/WebAPI/Controllers/CommonController.cs @@ -167,6 +167,6 @@ namespace WebAPI.Controllers return responeData; } - #endregion + #endregion } } diff --git a/SGGL/WebAPI/Controllers/DataSync/CNCECServerController.cs b/SGGL/WebAPI/Controllers/DataSync/CNCECServerController.cs index 324f3f5d..29f49bd5 100644 --- a/SGGL/WebAPI/Controllers/DataSync/CNCECServerController.cs +++ b/SGGL/WebAPI/Controllers/DataSync/CNCECServerController.cs @@ -133,11 +133,9 @@ namespace WebAPI.Controllers try { returnData.data = await HSSEData_HSSEService.GetTodayHSSEData_HSSE(); - } catch (Exception ex) { - returnData.code = 0; returnData.message = ex.ToString(); } diff --git a/SGGL/WebAPI/Filter/GlobalExceptionFilter.cs b/SGGL/WebAPI/Filter/GlobalExceptionFilter.cs new file mode 100644 index 00000000..59fd92f6 --- /dev/null +++ b/SGGL/WebAPI/Filter/GlobalExceptionFilter.cs @@ -0,0 +1,24 @@ +using System.Net; +using System.Net.Http; +using System.Web.Http.Filters; +using System.Web.Http; +using BLL; + +namespace WebAPI.Filter +{ + public class GlobalExceptionFilter : ExceptionFilterAttribute + { + public override void OnException(HttpActionExecutedContext context) + { + // Log the exception here if needed + ErrLogInfo.WriteLog(context.Exception, "WebApi", context.Request.RequestUri.ToString()); + context.Response = context.Request.CreateResponse(HttpStatusCode.InternalServerError, new + { + Message = "An error occurred.", + DetailedMessage = context.Exception.Message + }); + + base.OnException(context); + } + } +} \ No newline at end of file diff --git a/SGGL/WebAPI/WebAPI.csproj b/SGGL/WebAPI/WebAPI.csproj index a27b0a4e..b9f7ff91 100644 --- a/SGGL/WebAPI/WebAPI.csproj +++ b/SGGL/WebAPI/WebAPI.csproj @@ -243,6 +243,7 @@ + Global.asax