相关疑难解决方法(0)

ActionFilterAttributes是否跨线程重用?这是如何运作的?

我一直在使用以下代码进行一些测试,以尝试和锻炼ActionFilterAttributes的工作方式:

public class TestAttribute : ActionFilterAttribute
{
    private string _privateValue;
    public string PublicValue { get; set; }

    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        _privateValue = DateTime.Now.ToString();

        base.OnActionExecuting(filterContext);
    }
}
Run Code Online (Sandbox Code Playgroud)

当我在两个并行线程上运行上面的代码时,_privateValue字段会混淆.但是,PublicValue属性不会混淆.

在我看来,ActionFilterAttributes可以跨线程重用,但是根据为公共属性指定的常量创建新实例.我对么?

我在哪里可以找到相关信息?

asp.net-mvc

40
推荐指数
1
解决办法
9397
查看次数

标签 统计

asp.net-mvc ×1