我一直在使用以下代码进行一些测试,以尝试和锻炼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可以跨线程重用,但是根据为公共属性指定的常量创建新实例.我对么?
我在哪里可以找到相关信息?
MVC 4应用程序的一些用户正在经历零星的缓慢.据推测,并非每个用户每次发生问题都会报告该问题.
我的想法是测量每个控制器操作所花费的时间,并记录超过规定时间的操作调用的详细信息,以便于进一步分析(规则或排除服务器/代码问题).
是否有方便的方法来执行此类测量,以便我可以避免为每个操作添加检测代码?我目前没有在这个项目中使用IOC,并且只是为了解决这个问题而犹豫不决.
有没有更好的方法来解决这类问题?
我正在使用ActionFilter来记录我的ASP.NET Web API项目的所有操作调用.OnActionExecuted方法讲述了发生了什么.
我只是想不通如何找到一种有效的方法来衡量执行时间......
谢谢你的帮助!
我刚刚开始使用Web API,虽然我发现创建方法和我需要的一些配置非常容易,但现在我遇到了一个我不知道如何解决的问题.
一些将使用我的服务的应用程序非常旧,不支持DELETE和PUT方法(例如j2me应用程序)
我发现通过传递这样的东西可以做某种方法模拟:
_method=DELETE|PUT
Run Code Online (Sandbox Code Playgroud)
但是,我不确定Web API是否能够解释这一点,此外,我不知道如何做到这一点.出于这些原因,我正在考虑使用POST方法来处理更新和删除.话虽如此,如果不使用所有标准方法,我可以期待什么并发症?
一如既往,任何帮助都将受到极大的赞赏
提前致谢.
PD如果有人知道如何_method
通过路由到DELETE()或PUT()来发布POST会很棒