标签: lifecycle

使用Castle Windsor的存储库类的适当生命周期

当我开始使用温莎时,我认为DI很简单.现在它让我越来越困惑.

作为具有单例生命周期的类,存储库让我感到震惊.在应用程序的生命周期中,我应该有一个FooRepository实例来加载和保存Foos到数据库.

但是,每个存储库都包含对UnitOfWork的引用,它执行脏检查,与数据库等一起工作.UnitOfWork具有PerWebRequest的生命周期 - 对于UnitOfWork来说单独存在没有任何意义,因为单例实例可以(例如)同时刷新多个用户会话所做的更改.

那么我有一个单例FooRepository,它持有对UnitOfWork的引用,在会话结束时会被处理掉!我甚至不确定会对存储库的行为产生什么影响,但听起来不太好.

任何人都可以用简单的英语(好吧,可能有一些代码)来解释在Web应用程序中管理Repository和UnitOfWork类的生命周期的适当方法吗?

lifecycle castle-windsor unit-of-work repository-pattern

2
推荐指数
1
解决办法
1290
查看次数

多个用户可以共享HttpApplication实例吗?

我已经使用本文顶部的表格作为参考.我有三个问题:

1 - 多个用户(来自不同的物理位置)是否可以共享HttpApplication实例?如果是这样,默认会发生这种情况吗?

2 - 多个用户(来自不同的物理位置)是否可以共享HttpApplicationState实例?如果是这样,默认会发生这种情况吗?

3 - ASP.NET应用程序的多个用户是否可以共享单个实例或静态变量值?如果是这样,默认会发生这种情况吗?

谢谢你清理这个.

asp.net lifecycle httpapplication httpapplicationstate

2
推荐指数
1
解决办法
1672
查看次数

全局Application_Start不使用命名管道触发调用我的服务

我有一个在命名管道上运行的服务.该服务应该在启动时做一些事情,所以我在Global.asax中定义了这个.现在我遇到的情况是,当服务收到第一次呼叫时,这不是.以这种方式使用命名管道不同?

protected void Application_Start(object sender, EventArgs e)
{
    Log.Information("Application_Start().");
    DoSomeStuff();
}
Run Code Online (Sandbox Code Playgroud)

.net c# lifecycle named-pipes global-asax

2
推荐指数
1
解决办法
762
查看次数

Android onActivityResult从不打电话

永远不会调用我的onActivityResult方法.我正在使用android 2.2

我正在使用Tabhost,其中TabHosts包含包含单个活动的TabGroup.

我的一项个人活动运行以下意图

 Intent intent = new Intent(); 
 intent.setType("image/*");
 intent.setAction(Intent.ACTION_GET_CONTENT);
 startActivityForResult(Intent.createChooser(intent,
                    "Select Picture"), 0);
Run Code Online (Sandbox Code Playgroud)

这加载我的画廊应用程序,我使用默认的Android库选择一个图像,当我返回我的onActivityResult时,不称为我的活动.

它看起来像这样 - 我给了一个断点if(resultCode == 0),所以现在,我的onActivityResult的逻辑应该不重要

 public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == 0) {
        if (requestCode == 0) {
            Uri selectedImageUri = data.getData();

            //OI FILE Manager
            filemanagerstring = selectedImageUri.getPath();

            //MEDIA GALLERY
            selectedImagePath = getPath(selectedImageUri);

            //DEBUG PURPOSE - you can delete this if you want
            if(selectedImagePath!=null)
                System.out.println(selectedImagePath);
            else System.out.println("selectedImagePath is null");
            if(filemanagerstring!=null)
                System.out.println(filemanagerstring);
            else System.out.println("filemanagerstring is null");

            //NOW …
Run Code Online (Sandbox Code Playgroud)

lifecycle android gallery android-intent android-tabhost

2
推荐指数
2
解决办法
3万
查看次数

Android inter-Activity生命周期

根据Android文档,活动生命周期如下:

  • 的onCreate()
  • 在onStart()
  • 的onResume()
  • 的onPause()
  • 的onStop()
  • 的onDestroy()

问题是,假设我有两个活动(A和B)并且它们没有被异常杀死(内存不足等):

当一个人进入后台而另一个人被恢复/创建时,执行顺序如何?

  • ...
  • A.onPause()
  • B.onCreate()
  • A.onStop() - 同时B.onStart()
  • B.onResume()
  • ...

这种保证适用于任何特定订单吗?在每个Android版本?

Regads

lifecycle android android-activity

2
推荐指数
1
解决办法
259
查看次数

Umbraco请求生命周期图

我目前正在使用Umbraco 6.1.6网站调查性能问题。该网站正在运行许多自定义代码,我确定这是原因,但是为了更好地帮助我理解应用程序,有人可以提供解释页面请求生命周期的图形化图表吗?

具体来说,我想了解从Umbraco应用程序的每个主要部分返回内容的流程,包括:

  • 路由
  • 任何数据库请求发生的地方
  • 使用缓存的时间及其位置
  • razor / c#中的遍历节点如何工作,例如@ CurrentPage.Descendants()/ Ancestors()

我希望这个已经存在,但是我在Umbraco论坛上找不到它。

c# diagram lifecycle umbraco umbraco6

2
推荐指数
1
解决办法
467
查看次数

PHP变量生命周期/范围

我是一名Java开发人员,最近我的任务是PHP代码审查.在浏览PHP源代码时,我注意到变量在if,while,switch和do语句中初始化,然后在这些语句之外使用相同的变量.下面是代码片段

Senario 1

if ($status == 200) {
     $messageCode = "SC001";
}

// Here, use the $message variable that is declared in an if
$queryDb->selectStatusCode($message);
Run Code Online (Sandbox Code Playgroud)

Senario 2

foreach ($value->children() as $k => $v) {
    if ($k == "status") {
        $messageCode = $v;
    }
}

// Here, use the $messageCode variable that is declared in an foreach
$messageCode ....
Run Code Online (Sandbox Code Playgroud)

根据我的理解,控制语句中声明的变量只能在控制代码块中访问.

我的问题是,PHP函数中变量的变量范围是什么?如何在控制语句块之外访问此变量?

上面的代码如何工作并产生预期的结果?

php variables lifecycle scope

2
推荐指数
1
解决办法
500
查看次数

如何使用Android上的响应式扩展下载包含进度更新的文件

我目前正在编写一个需要结合api调用的应用程序,因此第一次使用rxjava,因为它似乎更方便处理异步事件和Android生命周期.

但是,应用程序有时还需要加载打包在zip存档中的静态数据集.我尝试使用rx进行此操作以及一致性并且它运行良好,但我真的没有掌握如何订阅progress-events以使用文件下载进度更新UI.

这是我现在使用的代码,用于下载使用okhttp-library的文件:

downloadService.downloadFile(filename)
    .flatMap(new Func1<Response<ResponseBody>, Observable<File>>()
    {
        @Override
        public Observable<File> call(final Response<ResponseBody> responseBodyResponse)
        {
            return Observable.create(new Observable.OnSubscribe<File>()
            {
                @Override
                public void call(Subscriber<? super File> subscriber)
                {
                    try
                    {
                        File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsoluteFile(), filename);
                        BufferedSink sink = Okio.buffer(Okio.sink(file));
                        sink.writeAll(responseBodyResponse.body().source());
                        sink.close();
                        subscriber.onNext(file);
                        subscriber.onCompleted();
                    }
                    catch (IOException e)
                    {
                        e.printStackTrace();
                        subscriber.onError(e);
                    }
                }
            });
        }
    })
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe(new Observer<File>()
    {
        @Override
        public void onCompleted()
        {
            Log.d("downloadZipFile", "onCompleted");
        }

        @Override
        public void onError(Throwable e) {
            e.printStackTrace();
            Log.d("downloadZipFile", "Error " + e.getMessage()); …
Run Code Online (Sandbox Code Playgroud)

java lifecycle android rx-java okhttp

2
推荐指数
1
解决办法
3778
查看次数

何时Angular触发ngAfterContentChecked?

根据文档,AfterContentChecked生命周期钩子被触发:

在Angular检查投影到组件中的内容之后

准确地说,文档中的"角度检查"是什么意思?

lifecycle angular

2
推荐指数
1
解决办法
3256
查看次数

在窗口大小调整React JS中更改值

我正在用React JS建立一个照相馆。显然,它必须具有响应性,我已经通过在组件的render方法中设置如下值来解决了这个问题:

let thumbWidth = window.innerWidth >= 480 ? 75 : 100;
Run Code Online (Sandbox Code Playgroud)

问题是我需要在调整窗口大小时更改const值。我的第一个尝试是构建一个像这样的函数并将其绑定到构造函数中:

getThumbWidth = (vpWidth) => {
    if(vpWidth >= 480 ) {
        this.setState({thumbSize: 120}); 
     } else {
        this.setState({thumbSize: 50}); 
     }
}
Run Code Online (Sandbox Code Playgroud)

这在设置变量的初始值方面起作用,但是当窗口调整大小时如何触发函数?

尝试添加调整大小功能:

resize = () => this.getThumbWidth()
Run Code Online (Sandbox Code Playgroud)

...然后更改getThumbWidth,以便它设置组件状态中的值-这样的想法是,当状态更新时,组件会自动重新渲染:

getThumbWidth = (vpWidth) => {
    if(vpWidth >= 480 ) {
        this.setState({thumbSize: 120}); 
     } else {
        this.setState({thumbSize: 50}); 
     }
}
Run Code Online (Sandbox Code Playgroud)

然后按照其他几种解决方案中的建议,通过生命周期方法调用它,但是事件监听器似乎没有触发:

componentDidMount() {
    window.addEventListener('resize', this.resize)
}

componentWillUnmount() {
    window.removeEventListener('resize', this.resize)
}  
Run Code Online (Sandbox Code Playgroud)

仍然无法运作...任何想法?

javascript css lifecycle responsive-design reactjs

2
推荐指数
1
解决办法
4334
查看次数