小编Jer*_*myK的帖子

性能计数器按进程ID而不是名称?

我正在跟踪同一个应用程序的多个实例,需要获取两个进程的内存和CPU使用.但是,我似乎无法找到一种方法来使用性能计数器,并知道哪个结果是针对哪个进程的.我已经看到我可以将#1等附加到名称的末尾以获得每个的结果,但这并不能告诉我哪个是哪个进程.

如何确定ProcessId或将进程ID传递给计数器以获得具有相同名称的每个进程的结果?

PerformanceCounterCPU.CategoryName = "Process";
PerformanceCounterCPU.CounterName = "% Processor Time";
PerformanceCounterCPU.InstanceName = proc.ProcessHandle.ProcessName;

PerformanceCounterMemory.CategoryName = "Process";
PerformanceCounterMemory.CounterName = "Working Set - Private";
PerformanceCounterMemory.InstanceName = proc.ProcessHandle.ProcessName;
Run Code Online (Sandbox Code Playgroud)

c# performancecounter

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

是什么导致user.config为空?如何在不重新启动的情况下恢复?

我注意到在我的应用程序的user.config文件以某种方式损坏并在打开时为空的几台机器上.我似乎无法弄清楚为什么会这样.是否有一个常见的事情会导致这种情况?有什么方法可以安全地防止这个

我的第二个问题是如何恢复状态?我捕获异常并删除user.config文件,但我找不到一种方法来恢复配置而不重新启动应用程序.我在Properties对象上执行的所有操作都会导致以下错误:

"配置系统无法初始化"

重置,重新加载和升级都无法解决问题.

这是我在异常后删除的代码:

catch (System.Configuration.ConfigurationErrorsException ex)
{
    string fileName = "";
    if (!string.IsNullOrEmpty(ex.Filename))
        fileName = ex.Filename;
    else
    {
        System.Configuration.ConfigurationErrorsException innerException = ex.InnerException as System.Configuration.ConfigurationErrorsException;
        if (innerException != null && !string.IsNullOrEmpty(innerException.Filename))
            fileName = innerException.Filename;
    }
    if (System.IO.File.Exists(fileName))
        System.IO.File.Delete(fileName);
}
Run Code Online (Sandbox Code Playgroud)

c# app-config

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

如何从SQL Server内存中清除SqlDependency?

如何清理SQL Server以清除过期的SqlDependency对象?从SqlDepedency对象收到事件后,我需要创建一个新事件才能获得新事件.但是,SQL Server进程的内存使用量会增加,直到超出允许的内存(SQL Server Express).如何摆脱旧查询?

码:

// Func: RegisterTableListener
using (SqlConnection cn = new SqlConnection(Properties.Settings.Default.DatabseEventConnectionString))
{
if (cmd == null)
{
    cmd = cn.CreateCommand();

    cmd.CommandType = CommandType.Text;
    cmd.CommandText = "SELECT HostName, LastStatus, LastDetails, xml FROM dbo.[SystemTable]";
}

lock (cmd)
{
    cmd.Connection = cn;
    cn.Open();
    cmd.Notification = null;

    //  creates a new dependency for the SqlCommand
    if (dep == null)
        dep = new SqlDependency(cmd);
    //  creates an event handler for the notification of data
    //      changes in …
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server-2008 sqldependency

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

表格上的三个面板布局

http://i.stack.imgur.com/SewpO.png 我正在尝试构建一个表单布局,它将满足以下要求:

  • panel1是固定高度 - 它只包含一个标签,它将是某种带标题的标题等
  • panel2将包含带有dockstyle fill的datagridview,此处用户将找到可以选择显示其属性的对象
  • panel3是固定高度 - 它将位于窗体的底部,并将包含datagridview中所选对象的属性

我的问题是让panel2填充在panel1和panel3之后留下的整个地方.因此,如果panel1和panel3都具有固定高度100,并且窗体具有高度500,那么panel2应该具有300高度,如果窗体将被调整为600,则panel2也应该调整为400等.

我正在尝试一些底座组合,尝试将panel1 dock设置为top,panel3设置为bottom,panel2设置为fill,但它提供的结果超出预期.我知道我可以处理表单resize事件并将panel2调整为一个大小,但是我想知道是否有一些更有弹性和干净的方法来做到这一点.

c# visual-studio-2010 winforms

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

WPF StackPanel PNG捕获无法正确呈现

我正在尝试创建一个png捕获StackPanel,但是当我保存时,我得到一个扭曲的视图,其中所有内容都是黑色矩形,并且大小不正确.图像保存中的宽度和高度是正确的,但是所有内容都被强制到顶部并挤压在一起

<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Views="clr-namespace:POExpress.Views" x:Class="POExpress.MainWindow"
Title="My Window" Height="500" MinWidth="1000" Width="1000">
<Grid>
    <TabControl>
        <TabItem Header="My Epics">
            <Grid Background="#FFE5E5E5">
                <Border Margin="0,52,0,0" BorderThickness="1" BorderBrush="Black">
                    <ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
                        <StackPanel x:Name="sp_ports" Orientation="Vertical"/>
                    </ScrollViewer>
                </Border>
                <Button x:Name="btn_capture" Content="Save to png" Margin="0,10,114,0" VerticalAlignment="Top" Height="31" Background="White" HorizontalAlignment="Right" Width="99" Click="Btn_capture_Click"/>
            </Grid>
        </TabItem>
    </TabControl>
</Grid>
Run Code Online (Sandbox Code Playgroud)

public RenderTargetBitmap GetImage()
{
    Size size = new Size(sp_ports.ActualWidth, sp_ports.ActualHeight);
    if (size.IsEmpty)
        return null;

    RenderTargetBitmap result = new RenderTargetBitmap((int)size.Width, (int)size.Height, 96, 96, PixelFormats.Pbgra32);

    DrawingVisual drawingvisual = new DrawingVisual();
    using (DrawingContext context = …
Run Code Online (Sandbox Code Playgroud)

c# wpf stackpanel

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

PackageManager.getPackageArchiveInfo 与 GET_SIGNING_CERTIFICATES 返回空签名信息

我试图在安装之前从 apk 文件中获取签名,但是我得到的是空的signingInfo 对象。PackageInfo 已正确填充与包相关的所有其他数据。

如果我安装 apk,然后使用 getPackageInfo,则将填充签名信息。不知道为什么它无法从 apk 本身获取它。

我是否遗漏了从 apk 文件获取签名的过程?

    // This call works after installing the apk, it is able to pull the signature without issues
    @Override
    public boolean isPackageSignatureValid(final String packageName)
    {
        try
        {
            android.content.pm.PackageManager pm = context.getPackageManager();
            PackageInfo packageInfo = pm.getPackageInfo(packageName, android.content.pm.PackageManager.GET_SIGNING_CERTIFICATES);

            return validateSignature(packageInfo);
        }
        catch (android.content.pm.PackageManager.NameNotFoundException notFoundException)
        {
            return false;
        }
    }

    // Calling this on the apk file prior to install, signingInfo is always null
    @Override
    public boolean isApkSignatureValid(final String apkFilePath)
    { …
Run Code Online (Sandbox Code Playgroud)

android device-policy-manager

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

C#以管理员身份启动命令

我正在尝试以管理员身份启动csript(登录的帐户具有管理员权限).将startinfo.verb设置为runas不起作用.

ProcessStartInfo p1 = new ProcessStartInfo();
p1.UseShellExecute = true;
p1.Verb = "runas";
p1.FileName = "cscript";
p1.Arguments = "I:\\WPKG\\wpkg.js /synchronize /quiet /nonotify";
Process p = new Process();
p.StartInfo = p1;
p.Start();
Run Code Online (Sandbox Code Playgroud)

我可以通过权限启动它的唯一方法是手动设置用户名和密码.但是,我无法对该信息进行硬编码或将其置于配置中.有没有办法让cmd在没有登录信息的情况下提升?

我也试过在上面的代码周围添加使用(System.Security.Principal.WindowsIdentity.GetCurrent().Impersonate())也没有运气.

注意:如果我直接运行bat文件,它可以工作,如果我使用密码硬编码运行,它可以工作.它只能在没有登录信息的情况下提升从C#的启动.

c#

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

RabbitMQ 批量确认

我有一个关于rabbitmq如何处理批处理确认的问题。据我所知,预取值是在达到限制之前排队的最大消息数。但是,我不确定 ack 是否可以自行管理,或者是否必须在代码中进行管理。

哪种方法是正确的?

发送每个 basicAck 并将多个设置为 true

或者

等到应该发送 10 个 ack 并仅发送最后一个,AMQP 将自动发送队列中的所有先前的确认。(多个设置为 true)

java amqp rabbitmq

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

如何检查数据库中是否已存在用户名

我已经看过几次这个问题,但我找不到一个好的答案.我已经被困了好几个小时了.

基本上我将用户名保存在数据库中,当新用户注册时我想检查他的用户名是否可用 - 如果可用,请将他添加到数据库中.他们通过名为FName的文本框注册.该表称为用户.

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

SqlCommand cmd = new SqlCommand("SELECT FName FROM Users WHERE FName =  ????? usernames????? ", con);

con.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read()) 
{
     Console.WriteLine(reader["text"].ToString());
}
Run Code Online (Sandbox Code Playgroud)

我该如何修复此代码?

c# database

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

在linq语句中添加"Where"?

我不知道linq AT ALL.完成我们所有后端工作的人已经工作了2周,但我需要做的就是根据"term" 过滤getItemList.我已经尝试过搜索如何添加"where"子句,但我只是没有运气.

请注意,我在getItemList参数中添加了"string term" .

请帮忙.

public IndexedItem getItem(string name) {
    var repo = new Project.SQLServerDataManager.IndexItemRepository(ConfigurationManager.ConnectionStrings["ItemRepositoryConnstring"].ConnectionString);
    return repo.getItem(name);
}

public object getItemList(string term) {
    var repo = getRepo();
    return from i in repo.getItem() 
        select new { name = i.name, itemType = i.itemType.name };
}

private IIndexedItemReadOnlyRepository getRepo() { 
    return new Project.SQLServerDataManager.IndexItemRepository(ConfigurationManager.ConnectionStrings["ItemRepositoryConnstring"].ConnectionString);
}
Run Code Online (Sandbox Code Playgroud)

编辑澄清: "术语"是搜索词.它需要匹配项目"名称"

c# sql linq where-clause signalr

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