我有ServiceResponse
类:
public class ServiceResponse
{
public List<string> Errors { get; set; }
public bool Succeeded { get; set; }
public object Data { get; set; }
public ServiceResponse() { }
public ServiceResponse(object result, List<string> errors, bool success)
{
Errors = errors;
Data = result;
Succeeded = success;
}
public static ServiceResponse Success(object result)
{
return new ServiceResponse(result, new(), true);
}
public static ServiceResponse Failure(List<string> errors)
{
return new ServiceResponse(new(), errors, false);
}
}
在我的controllers
中,我称之为:
List<string> errors = new List<string>();
try
{
return ServiceResponse.Success(await Mediator.Send(request));
}
catch (Exception ex)
{
errors.Add(ex.Message);
return ServiceResponse.Failure(errors);
}
我认为这是比在控制器中创建ServiceResponse
对象更简洁的解决方案,但是如果两个人调用同一个控制器,这会产生问题吗?A有可能从B那里得到ServiceResponse
吗?
1条答案
按热度按时间xwmevbvl1#
人员A是否有机会从人员B获得ServiceResponse
不会。虽然静态成员变量是跨线程共享的,但静态方法的局部变量不是。在您的情况下,在静态方法中访问的变量都是局部的,因此它们是安全的。