小编Fra*_*aga的帖子

MessageQueue和Async/Await

我只想以异步方式接收我的消息!它冻结了我的UI

    public async void ProcessMessages()
    {
        MessageQueue MyMessageQueue = new MessageQueue(@".\private$\MyTransactionalQueue");
        MyMessageQueue.Formatter = new XmlMessageFormatter(new Type[] { typeof(string) });

        while (true)
        {
            MessageQueueTransaction MessageQueueTransaction = new MessageQueueTransaction();
            MessageQueueTransaction.Begin();

            ContainError = false;
            ProcessPanel.SetWaiting();

            string Body = MyMessageQueue.Receive(MessageQueueTransaction).Body.ToString();

            //Do some process with body string.

            MessageQueueTransaction.Commit();
        }
    }
Run Code Online (Sandbox Code Playgroud)

我只是像任何常规方法一样调用方法,并且它的工作正常!当我使用BackgroundWorkers而不是async/await时,此代码曾经工作

想法?

c# message-queue async-await

11
推荐指数
2
解决办法
8474
查看次数

Visual Studio代码分析规则 - "不公开通用列表"

不要公开通用列表

如果我的所有方法都需要公开一个集合,那么我需要使用Linq扩展.ToList(),几乎我需要在所有代码中使用列表或用户集合.

如果是这种情况,.ToList()忽略规则吧?或者是否有一种技术,如复制列表,以修复违规并仍然返回列表?

c# linq extension-methods code-analysis fxcop

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

DataGridView虚拟模式列分隔符双击自动调整大小

我在虚拟模式下使用DataGridView进行winform应用,一切都很好!唯一的问题是当我点击双击一个列分隔符时,控件正试图使列宽适合所有单元格,而不仅仅是显示的或可见的!很明显,它挂起了应用程序.

我尝试了各种配置

AutoSizeMode = DataGridViewAutoSizeColumnMode.None;
AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCellsExceptHeader;
AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
Run Code Online (Sandbox Code Playgroud)

Everything!,datagrid和每一列中的设置!没有任何作用

任何的想法?

最终结果是:用户可以调整列的大小,但不能通过双击en de column border!..我不在乎它是否完全不适合.

c# datagridview virtualmode autosize winforms

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

小 wav 中的 C# 音频指纹

我需要在一个包含大约 40 个文件的小型数据库中找到一个类似的 wav 文件,长度从 5 秒到 7 秒不等。

这些 wav 文件是电话服务提供商在您拨打电话时提供给您的记录。

例子:

https://clyp.it/lnz1aybd

我的针有 1 或 2 秒长。

所有的 wav 都是pcm 编码的 16 位 8000hz 单声道

我尝试使用Aurio.AudioFingerPrint没有成功

https://github.com/protyposis/Aurio

// Setup the sources
var audioTrack1 = new AudioTrack(new FileInfo("Full5secs.wav"));
var audioTrack2 = new AudioTrack(new FileInfo("Part2Secs.wav"));

// Setup the fingerprint generator
var defaultProfile = FingerprintGenerator.GetProfiles()[0];
var generator = new FingerprintGenerator(defaultProfile);

// Create a fingerprint store
var store = new FingerprintStore(defaultProfile);

// Setup the generator event listener (a …
Run Code Online (Sandbox Code Playgroud)

c# fft spectrum audio-fingerprinting

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

使用 C# 从 url 下载 .webp 图像

我正在尝试从以下位置下载图像

http://aplweb.soriana.com/foto/fotolib/14/7503003936114/7503003936114-01-01-01.jpg

使用网络客户端。

当我在 Chrome 中浏览图像时,图像就在那里: 在此输入图像描述

url 以 .jpg 结尾,但图像为 .WEBP 格式。

    using (WebClient wb = new WebClient())
    {                  
         wb.DownloadFile("http://aplweb.soriana.com/foto/fotolib//14/7503003936114/7503003936114-01-01-01.jpg", "image.jpg");
    }
Run Code Online (Sandbox Code Playgroud)

我直接尝试过.DownloadData()、asyng方法、HttpClient、WebRequest。..我总是遇到同样的错误。

在此输入图像描述

任何想法?

c# webclient download webp

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