Sha*_*tin 4 c# asp.net asp.net-mvc scope lifetime
ASP.NET MVC 有许多组件。控制器、操作、静态类、ApiController、过滤器、RouteTables、BundleTables、工厂等以及控制器范围的访问修饰符。
如果我们实例化一个对象或访问其中任何一个的静态属性,我们如何确定对象、类或成员的范围和生命周期。以这个例子为例:
public static class MyHelper
{
public static object MyProperty { get; set; }
public static Func<object> MyPropertyFactory { get; set; }
static MyHelper()
{
MyProperty = new object();
MyPropertyFactory = () => new object();
}
}
public class MyController : ApiController
{
public object MyAppProperty { get; set; }
public object MyRequestProperty { get; set; }
public MyController()
{
MyAppProperty = MyHelper.MyProperty;
MyRequestProperty = MyHelper.MyPropertyFactory;
}
public object MyAction()
{
var MyActionObject = new object();
return MyActionObject;
}
}
Run Code Online (Sandbox Code Playgroud)
我发现不同对象和静态类属性的生命周期和范围很难解析。这让我陷入了线程和其他问题。
除了分析和经验之外,是否有一个通用的过程来确定这一点?另一个更容易回答的问题是:“以下各项的生命周期和范围是什么?为什么?
| 归档时间: |
|
| 查看次数: |
4572 次 |
| 最近记录: |