小编Jef*_*Fay的帖子

如何识别仍然引用对象的实例?

在我的应用程序中使用对象生命周期跟踪运行VS2010探查器后,我在特定的类上有这个:

实例数 ---------- 1 418 276
%总实例---------------------%5.8
分配的总字节数----- - 158 846 912
%总字节数--------------------------%5.94
Gen 0实例收集--------- 5 196
收集第1组实例-------- 54 894收集
第2组实例 ---- 747 874
结束活动 --------- 610 312
Gen 0字节收集------ ----- 581 952
Gen 1 Bytes Collected --------- 6 148 128
Gen 2 Bytes Collected --------- 3 761 888

正如你所看到的,所有创建的实例中有一半最终主要是第2代,而另一半则一直活着直到应用程序结束.[ 哈,哈,哈,哈,活着,活着...... - > 对不起,我无法抗拒...... ]

困扰我的是这些实例的生命周期非常短(它基本上是一个数据域类 - 可能是一个结构体,但我更喜欢将它作为一个类来"激活"GC).
这些实例是通过读取非常大的二进制文件(每行是一个类/一个记录)创建的,并通过委托/事件通过一个小型队列传递给基本上只是读取它的工作者,将它放入队列(非常经常出列) ,然后终止(后台工作人员正常结束).我想当工人不再存在时,事件会被取消订阅.

那么,有没有办法确定这些引用隐藏在哪里?因为如果他们不是GC,他们仍然被引用到某个地方,但如何确定?我厌倦了猜测和尝试这么多的假设,如果有人有更合理的指导方针或公平的清单和/或工具/精确的探查器的地方,我欢迎它.


通过DGML 回答Visual GCRoot的补充资源 - 感谢Richard Szalay
此外,来自Chris …

.net c#

10
推荐指数
1
解决办法
909
查看次数

在C#中实现全局常量的最佳方法是什么?

我有一个Common项目,我在其中添加了QueryStringNames的公共常量.

我知道一般常量应该是内部的或私有的,但我需要公共常量,因为我想允许全局访问查询字符串名称,会话密钥等.

我知道有3种解决方案,但它们都有一个重要的问题.调用程序集将包含my常量的副本,这意味着如果我必须更改常量值,我将必须编译我的Common程序集和调用程序集程序!

1) public const string ConstName = "a value";
2) public readonly string ConstName = "a value";
3) To be stored in a public resource file.
Run Code Online (Sandbox Code Playgroud)

除了将它们存储在web.config文件(没有intellisense)之外,在C#中定义公共常量的最佳方法是什么?

c# asp.net resources constants readonly

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

Python作业服务守护程序?

我应该看一下编写python守护进程和处理作业的包?另外,我需要为python守护进程做些什么?

python

9
推荐指数
1
解决办法
1866
查看次数

如果值等于或大于WPF触发器将起作用

我在WPF中编写了一个带有按钮和滑块的应用程序.我想为按钮创建一个触发器,当滑块值大于另一个值时,它会将按钮的'IsEnable'属性设置为false .现在我有:

<Style x:Key="zoomOutButton" TargetType="Button" BasedOn="{StaticResource ResourceKey=buttonStyle}">
        <Style.Triggers>
            <DataTrigger Binding="{Binding CurrentAltitude}" Value="24000">
                <Setter Property="IsEnabled" Value="False" />
            </DataTrigger>
        </Style.Triggers>
    </Style>
Run Code Online (Sandbox Code Playgroud)

但我想设置isEnable时不是当CurrentAltitude的值等于24000,而是当它等于或大于24000时.有什么想法吗?

c# wpf triggers visual-studio-2010

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

在IIS Express中托管WCF服务的问题

我们正在尝试在IIS Express 7.5(7.5.1046)中托管WCF服务.IIS Express正常启动,但在尝试连接到我们的.svc文件时,我们收到一条消息"无法加载DLL'nativerd.dll'的异常:找不到指定的模块.(HRESULT异常:0x8007007E)" .

我们搜索了这个dll,它出现在%WINDIR%\ system32\inetsrv \nativerd.dll中.我们使用的applicationHost.config文件基于IIS Express在用户目录中安装的模板.

系统将Windows 7作为操作系统,配置Visual Studio 2010 SP 1和IIS 7.5以运行WCF应用程序.

有人遇到过同样的问题吗?IIS可能对IIS Express安装有任何影响吗?

.net iis wcf .net-4.0 iis-express

9
推荐指数
1
解决办法
1万
查看次数

如何使用Xsd2Code生成的类

我是XML编码的新手.我有一个XML文件,使用XSD工具生成Schema文件,然后使用Xsd2Code工具生成类文件.

现在我有一个名为Timesheet.Designer.cs的文件,其中包含所有类信息和序列化方法.我可以在项目中使用相同的文件,还是将其保存为基类,并使用Timesheet.cs生成一个单独的文件来访问此类和修改?任何人都可以向我指出一个很好的教程或示例,它展示了如何在我的应用程序中使用它来读取和写入XML文件?

我有许多XML文件中的complexType元素.因此,该工具也为所有这些ComplexTypes生成了不同的类.

如果有人已经有一些代码,请在此处发布.

.net c# xml serialization xsd2code

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

cron作业执行的脚本中的相对路径

我正在建立我的第一个cron工作而且它不起作用.我认为问题可能是相对路径问题.

鉴于cron工作:

*/1 * * * * python2.7 /home/path/to/my/script/my_script.py
Run Code Online (Sandbox Code Playgroud)

和my_script.py:

import sqlite3
db = sqlite3.connect('my_db.db')
cur = db.cursor()
...
Run Code Online (Sandbox Code Playgroud)

我如何确保my_script.py查找my_db.db/home/path/to/my/script/(相同的目录房子my_script.py),而不是任何目录的crontab的生活?

其他建议也是受欢迎的.

注意 - 我认为问题可能是一个路径问题,因为当我尝试从除了以外的任何位置运行my_script.py使用时,我收到"无法打开数据库"错误.python2.7 /home/path/to/my/script/my_script.py/home/path/to/my/script/

python cron crontab

9
推荐指数
1
解决办法
2996
查看次数

切换到任何CPU配置后,Win Service项目将不会构建

我正试图找到解决问题的方法.将我的.net 4.0 C#Win服务项目更改为任何CPU/Release构建配置后,我收到此编译时错误:

Cannot specify /main if building a module or library

它将违规文件标识为"CSC",生成它的项目是我的服务项目(不是我在解决方案中附带的代码库).我查看了项目文件和配置编辑器设置但尚未能确定问题的根源.

有没有其他人经历过这个节目停止问题?

c# compiler-errors build .net-4.0

8
推荐指数
2
解决办法
3656
查看次数

使用Require_once()正确包含数据库连接变量

我是一个php新手(但是其他语言的长期开发人员),我正在尝试"PHP,MySQL和JavaScript"中的一些示例数据库连接.它显示了一个包含数据库连接变量(服务器名,用户名,密码,数据库等)的示例文件.我有一个php文件,它有一些我写的函数,其中一个有一些SQL查询.无论出于何种原因,在该文件中调用require_once不会输出任何错误(我已经配置了E_ALL),但我的数据库php文件中的那些变量是null.

我用该函数中的所有变量调用了一个回声,看看它到底发生了什么,当然它打印出一个空白行.世界上什么超出了范围?我不得不错过一些简单的东西.

这是我正在做的一个例子

db_login.php

<?php
    $db_server = 'localhost';
    // ....
?>
Run Code Online (Sandbox Code Playgroud)

的functions.php

<?php
    require_once('db_login.php');

    function myfunction() {
        echo "$db_server";
        // ...
    }
?>
Run Code Online (Sandbox Code Playgroud)

叫我疯了,但这应该不够简单吗?

php scope require-once

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

Razor语法等价

下面的一行显示在我的一个javascript文件中,它在Razor中的语法是什么.

var initialData = <%= new JavaScriptSerializer().Serialize(Model) %>;
Run Code Online (Sandbox Code Playgroud)

razor

8
推荐指数
2
解决办法
2838
查看次数