小编Fre*_*ddy的帖子

x天后删除日志文件

我想使用文件目标登录Nlog,就像在这个例子中一样.如何在X几天之后删除文件而不归档它们?或者是否可以将文件存档到同一个文件夹?

logging nlog archive

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

PATH变量的GetEnvironmentVariable()和SetEnvironmentVariable()

我想用C#程序扩展当前的PATH变量.我有几个问题:

  1. 使用GetEnvironmentVariable("PATH", EnvironmentVariableTarget.Machine)替换占位符(即'%SystemRoot%\system32'由当前路径替换'C:\Windows\system32').更新PATH变量,我不想用路径替换占位符.

  2. 之后SetEnvironmentVariable无法再从命令框中打开任何程序(即命令框中的calc.exe不起作用).我使用以下代码:

String oldPath = Environment.GetEnvironmentVariable("PATH", EnvironmentVariableTarget.Machine);
Environment.SetEnvironmentVariable("PATH", oldPath + ";%MYDIR%", EnvironmentVariableTarget.Machine);
Run Code Online (Sandbox Code Playgroud)

PATH使用Windows 编辑和更改变量后,一切都可以正常工作.(我需要更改内容,否则不会覆盖)

.net c# windows environment-variables

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

带有服务和控制台的System.Threading.Mutex

我的程序作为服务或控制台运行.我创建了一个System.Threading.Mutex,只启动两种模式中的一种.在这里我的代码

public class MyServer 
{
// Private variable
System.Threading.Mutex serverMutex;

public MyServer ()
{
    bool createdNew;
    ServerMutex = new System.Threading.Mutex(true, "MyServerMutex", out createdNew);
    if (!createdNew)
    {
        throw new Exception("Another server instance is running");
    }
}
}
Run Code Online (Sandbox Code Playgroud)

首先启动控制台,然后启动另一个控制台,抛出异常.首先启动服务,控制台不会抛出异常.首先启动控制台,然后服务是相同的.

有任何想法吗?我想知道,因为我认为,几个月前,当我实现该功能时,它已经全部工作了.

我正在使用.NET 4.0.

谢谢,弗雷迪

c# service mutex windows-services console-application

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