小编Sam*_*Sam的帖子

无法在InstallShield 2012 Limited Edition中创建未公布的快捷方式

我为Visual Studio 2012解决方案创建了一个InstallShield 2012 Limited Edition安装程序项目.我已配置为创建"发送到"快捷方式.但是,它会创建一个广告快捷方式,因此Windows实际上并未在"发送到"菜单中显示它.

当我在安装程序项目中创建快捷方式时,我明确选择了"快捷方式"选项而不是"广告快捷方式"选项,但无论如何它都会创建一个广告.

如何让安装程序生成未公布的安装程序?

installshield advertised-shortcut installshield-2012 visual-studio-2012

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

为什么在取消大量HTTP请求时取消会阻塞这么长时间?

背景

我有一些代码使用来自一个特定主机的内容执行批量HTML页面处理.它尝试使用大量(~400)同时发出的HTTP请求HttpClient.我认为同时连接的最大数量受到限制ServicePointManager.DefaultConnectionLimit,所以我没有应用自己的并发限制.

在将所有请求异步发送到HttpClient使用后Task.WhenAll,可以使用CancellationTokenSource和取消整个批处理操作CancellationToken.可以通过用户界面查看操作的进度,并且可以单击按钮以执行取消.

问题

CancellationTokenSource.Cancel()块的调用大约需要5到30秒.这会导致用户界面冻结.怀疑是因为该方法正在调用注册取消通知的代码.

我考虑过的

  1. 限制同时HTTP请求任务的数量.我认为这是一种解决方法,因为HttpClient似乎已经排除了过多的请求本身.
  2. CancellationTokenSource.Cancel()在非UI线程中执行方法调用.这不太好用; 在大多数其他人完成任务之前,任务实际上并未运行.我认为async该方法的一个版本可以很好地工作,但我找不到一个.另外,我的印象是它适合在UI线程中使用该方法.

示范

class Program
{
    private const int desiredNumberOfConnections = 418;

    static void Main(string[] args)
    {
        ManyHttpRequestsTest().Wait();

        Console.WriteLine("Finished.");
        Console.ReadKey();
    }

    private static async Task ManyHttpRequestsTest()
    {
        using (var client = new HttpClient())
        using (var cancellationTokenSource = new CancellationTokenSource())
        {
            var requestsCompleted = 0;

            using (var allRequestsStarted = new CountdownEvent(desiredNumberOfConnections))
            {
                Action reportRequestStarted …
Run Code Online (Sandbox Code Playgroud)

c# performance c#-5.0 cancellationtokensource .net-4.5

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

崩溃后重新启动辅助功能服务

在我的应用程序中有一个Service和一个AccessibilityService.现在Service受可访问性服务的约束,以便接收信息.

我会Service定期检查是否AccessibilityService已启用,如果未启用,则会向用户发送通知,表明它必须启用它.

启用后,即可AccessibilityService开始工作.首先,它绑定到我Service,之后,它开始发送信息.

问题是如果AccessibilityService崩溃了.它仍然启用但没有正在运行的实例.所以我Service发现它已启用,但实际上AccessibilityService它没有运行.

怎么检查 AccessibilityService

public boolean checkAccesibilityService()
    {
        int accessibilityEnabled = 0;
        boolean accessibilityFound = false;
        try {
            accessibilityEnabled = Settings.Secure.getInt(
                    mContext.getApplicationContext().getContentResolver(),
                    android.provider.Settings.Secure.ACCESSIBILITY_ENABLED);
            //Log.v(TAG, "accessibilityEnabled = " + accessibilityEnabled);
        } catch (Settings.SettingNotFoundException e) {
            Log.e(TAG, "Error finding setting, default accessibility to not found: "
                    + e.getMessage());
        }

        if (accessibilityEnabled == 1) {
            //Log.v(TAG, "***ACCESSIBILIY IS ENABLED*** -----------------");
            String …
Run Code Online (Sandbox Code Playgroud)

service binding android accessibilityservice

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

错误:“无法设置 ssl 模式”

我正在尝试在我的连接字符串中设置SSL Mode

SSL Mode=preferred;
Run Code Online (Sandbox Code Playgroud)

ArgumentException但是当我的代码尝试连接到数据库时,我得到了:

显示 ArgumentException 的异常信息,其中包含消息“无法设置 ssl 模式。参数名称:ssl 模式”。 InnerException 消息是“未找到请求的值‘首选’。”。

请注意InnerException, 说:

未找到请求的值“首选”。

required查看以下文档,指定,disabled或应该有效preferred

我使用的是 Npgsql 3.0.3,它是通过 NuGet 获得的:

NuGet 显示已安装 Npgsql 3.0.3

npgsql

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

如何让Visual Studio自动将其调试器附加到Web应用程序和Web服务?

我正在开发一个Visual Studio项目.我正在使用Visual Studio 2010.该项目有一个ASP.NET应用程序项目和一个单独的ASMX Web服务项目.Web应用程序项目设置为启动项目.

当我告诉Visual Studio开始调试时,它正确启动Web应用程序和Web服务.但是,它只将调试器附加到Web应用程序而不是Web服务.无论我用于哪个项目(IIS,IIS Express,Visual Studio开发Web服务器),都会出现此问题.

为了同时调试两者,我需要在调试会话期间手动将调试器附加到Web服务.

当我告诉它开始调试时,如何使Visual Studio自动附加到这两个项目?

debugging web-services web-applications visual-studio

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

如何在列表中搜索包含任何属性值中的子字符串的元素?

我试图在具有很多属性的对象列表中进行搜索.寻找一个优雅的解决方案,例如lambda表达式,它可以根据搜索字符串返回结果.这是我的简化数据源.我的实际Customer课程有更多属性:

public static class CustomerDataSource
{
    public static List<Customer> customerData
    {
        get
        {
            Customer customer1 = new Customer() { name = "Bert", address = "London" };
            Customer customer2 = new Customer() { name = "Jon", address = "New York" };
            List<Customer> listCustomers = new List<Customer>();
            listCustomers.Add(customer1);
            listCustomers.Add(customer2);
            return listCustomers;
        }
    }
}

public class Customer
{
    public string name { get; set; }
    public string address { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

什么样的语句可以返回Customer包含'searchstring'的所有s.例如,如果搜索字符串为'e',则它应返回两者customer1,customer2因为包含'e' …

c# lambda list

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

如何获取存储在变量中的函数的参数名称?

看到这段代码:

var method  = function(service,worker){
   //....
}

function getArguments(method){

  //what I want is: 
  //print " the arguments of the method is 'service','worker'"
}

getArguments(method);
Run Code Online (Sandbox Code Playgroud)

如何从变量中获取参数的名称?

我知道method.arguments在不调用该方法时不起作用.

javascript reflection

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

-匹配成功但不更新$matches

我编写了一个脚本来调用外部命令并使用正则表达式捕获其输出的一部分。这是一个示例(不是现实世界)脚本来演示我是如何做到这一点的:

$output = clip
if ($output -imatch 'usage')
{
    Write-Output $matches[0]
}
Run Code Online (Sandbox Code Playgroud)

如果我在命令提示符下运行clip,其输出如下所示:

信息:输入“CLIP /?” 供使用。

在上面的代码中,匹配成功,但未$matches设置。如果我$output使用以下不同的方法进行设置,问题就会消失:

$output = 'INFO: Type "CLIP /?" for usage.'
Run Code Online (Sandbox Code Playgroud)

为什么$matches我调用命令时没有设置?我怎样才能解决这个问题?

regex powershell

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

卸载应用不会在服务中触发onDestroy

我正在开发Android服务。服务停止时,onDestroy将按预期方式调用。但是,当我在服务运行时卸载应用程序时,onDestroy不会调用,因此应用程序没有机会自行清理。

这正常吗?卸载应用程序后,如何执行服务的关机/清理逻辑?

android uninstall android-service

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

NuGet总是认为包需要更新

每当我管理我正在研究的Visual Studio解决方案的NuGet包时,它总是说特定包需要更新.

但是,当我按包更新时,我不允许选择更新它的项目: 选择

当我按OK继续时,没有任何反应; 窗口刚关闭,再次让我看到管理NuGet包窗口,仍然显示此特定包有可用的更新.

这似乎只发生在解决方案中的一个特定包中.允许引用此包的项目已引用最新版本.

.net nuget

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

为什么LINQ不让我订购我的一个数据点?

我有这个代码:

return inventoryItems
    .Where(i => 0 < String.Compare(i.ID, ID))
    .Take(CountToFetch);
Run Code Online (Sandbox Code Playgroud)

...但我想订购结果,如下:

return inventoryItems
    .Where(i => 0 < String.Compare(i.ID, ID))
    .Take(CountToFetch)
    .OrderBy(i.pksize);
Run Code Online (Sandbox Code Playgroud)

...但是,决赛i是红色/超出范围.为什么?尝试将OrderBy()之前的位置定位Take()没有区别.

c# linq asp.net-mvc asp.net-web-api

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

如何存储一个非常小的数字

我有一个公式来计算C#中某些数字的权重.我有9个砝码.这些权重之和为1,因此这些权重太小.例如,在计算这些权重之后,结果如下所示:

1/17,1/17,1/17,1/17,1/17,1/2017,1/17,1/17,9/17

当我想将这些权重存储在带有double类型的参数中时,存储的值将是:

0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0

问题是我需要在另一个公式中使用这些权重的确切值,并且它们在该公式中太重要了.它们的总和应为1.

我该怎么做才能解决这个问题?

c#

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