小编Dia*_*tis的帖子

GC.Collect循环?

我使用Reflector在System.Web.ISAPIRuntime中找到了这段代码

public void DoGCCollect()
{
    for (int i = 10; i > 0; i--)
    {
        GC.Collect();
    }
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以评论这个吗?是否有理由在循环中执行GC.Collect()?为什么10次而不是3次,5次或20次?分析表明它没有在.net框架内部使用,但它是公共的,所以我想IIS可以调用它...

编辑:

仅仅是为了澄清目的:我从未打电话给GC.Collect,我无意使用它.我知道在大多数(如果不是全部)案例中这是一个坏主意.问题是.net框架为什么会这样做.谢谢你的所有答案.

.net c# garbage-collection

21
推荐指数
3
解决办法
2718
查看次数

在Ruby中使用不同的闭包类型时奇怪的File.open行为

我开始学习Chef来管理我们的服务器,我偶然发现了一个非常奇怪的(在我看来)Ruby中的行为.我不认识Ruby,所以这可能只是我的一个误解.

我得到的错误

`delete': Permission denied - [some path]/metadata.json (Errno::EACCES)
Run Code Online (Sandbox Code Playgroud)

因为我确定它实际上并不是关于权限,所以下一个合乎逻辑的事情是检查文件锁定.在通过相关代码挖掘了一下之后,我发现有一种方法可以为每个文件生成校验和.

def checksum_file(file, digest)
  File.open(file, 'rb') { |f| checksum_io(f, digest) }
end

def checksum_io(io, digest)
  while chunk = io.read(1024 * 8)
    digest.update(chunk)
  end
  digest.hexdigest
end
Run Code Online (Sandbox Code Playgroud)

找到了,我搜索了一下,找到了关于在Ruby中关闭文件的答案,看起来代码实际上很好......但事实并非如此.我试图将方法更改为"块格式",它没有错误地工作:

def checksum_file(file, digest)
  File.open(file, 'rb') do |f|
    checksum_io(f, digest)
  end
end
Run Code Online (Sandbox Code Playgroud)

有人可以解释两个版本的代码之间的区别吗?

- 编辑 -

似乎只有在Windows中才会出现此问题,并且可能仅在使用ChefDK 0.3.0提供的ruby时:

ruby 2.0.0p451(2014-02-24)[i386-mingw32]

ruby windows

7
推荐指数
1
解决办法
414
查看次数

使用记事本进行ASP.NET MVC开发?

那么我需要Visual Studio的某些风格来进行ASP.NET MVC开发,还是我可以通过简单的文本编辑器在技术上完成所有这些工作?如果是,请告诉我捕获量,比如除了使文件夹结构正确并确保我的代码是稳定的等等之外我还有什么特别之处.

c# ide asp.net-mvc visual-studio

5
推荐指数
2
解决办法
1294
查看次数

如何在 Visual Studio Code (v 1.27.2) 中设置 java 类路径?

我是 Visual Studio Code for Java 开发的新手,昨天打开了一个工作区进行测试。现在,当今天重新启动 Visual Studio 时,当我打开任何 java 文件时,我会收到“类路径不完整”警告,并且无法运行任何测试。查看一下肯定是工作区文件,它只包含以下内容。是否缺少设置类路径的内容,或者是否有其他方法来解决此问题?

{
    "folders": [
        {
            "path": "<path to project directory>"
        }
    ],
    "settings": {
        "java.configuration.updateBuildConfiguration": "automatic"
    }
}
Run Code Online (Sandbox Code Playgroud)

java classpath visual-studio-code

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

VS 2008中的解决方案文件

我引用了一个位于解决方案文件夹中的配置文件.然后我在我的项目中引用该文件.发布项目时如何将该配置文件放入bin目录?

c# projects-and-solutions visual-studio

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

LINQ to SQL对字符串执行OR

我只是想执行一个LINQ查询来返回一组明年正在运行的课程ID和课程标题.作为其中的一部分,我需要执行OR查询,因为我也希望返回与明年有关的数据,这在我的数据库中作为字符串保存,并且是我唯一的问题,所以任何帮助都将是赞赏.

var result = (
    from a in Offering
    join b in Courseinfo on a.CourseID equals b.CourseID
    into temp
    from c in temp
    where c.Year == "10/11" || "11/12"
    select new { c.CourseID, c.CourseTitle }).DefaultIfEmpty();
Run Code Online (Sandbox Code Playgroud)

c# linq-to-sql

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

更新查询的位置附近的语法不正确

这是我用来更新表的更新查询.它抛出一个异常"在哪里附近的语法不正确"为什么这个例外?我不知道.

    public bool UpdateLocationCountintoMerchantPackage(int PackageID, long MerchantID,int LocationCount)
    {
        try
        {
            SqlParameter[] parameters = new SqlParameter[]
            {
                new SqlParameter("@packageID",PackageID),
                new SqlParameter("@merchantID",MerchantID ),
                new SqlParameter("@locationCount",LocationCount )
            };
            string CommandText = string.Empty;  
            CommandText = "Update Merchant_Package SET LocationCount Where MerchantID=@MerchantID";
            string ConnectionString = DbConnectionStrings.GetDbConnectionString();
            SqlHelper.ExecuteNonQuery(ConnectionString, System.Data.CommandType.Text, CommandText, parameters);
            return true;

        }
        catch (SqlException ex)
        {
            LogError("Error Occurred When Saving Merchant Location Count Data : MerchantID:" + MerchantID.ToString(), ex);
            return false;
        }
    }
Run Code Online (Sandbox Code Playgroud)

这个函数是从

protected void imgbtnSubmit_Click(object sender, ImageClickEventArgs e)
{

        UpdatePaymentInfo();
        string …
Run Code Online (Sandbox Code Playgroud)

c# sql asp.net

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

静态异常实例

静态异常实例是否可以安全使用?有什么好理由避免以下情况?

public class ResourceHttpHandler : IHttpHandler
{
    private static HttpException notFoundException =
                new HttpException(
                    (int)HttpStatusCode.NotFound,
                    "Assembly Not Found");

    public bool IsReusable
    {
        get { return true; }
    }

    public void ProcessRequest(HttpContext context)
    {
        ....
        throw notFoundException;
        ....
    }
}
Run Code Online (Sandbox Code Playgroud)

c# multithreading exception

0
推荐指数
1
解决办法
627
查看次数