小编Jes*_*lam的帖子

等待池化线程完成

我很抱歉有一个多余的问题.但是,我找到了很多解决我问题的方法,但没有一个解释得很清楚.我希望在这里说清楚.

我的C#应用​​程序的主线程使用ThreadPool生成1..n后台工作者.我希望原始线程锁定,直到所有工人都完成.我特别研究了ManualResetEvent,但我不清楚它的用途.

在伪:

foreach( var o in collection )
{
  queue new worker(o);
}

while( workers not completed ) { continue; }
Run Code Online (Sandbox Code Playgroud)

如果有必要,我会知道即将排队的工人数量.

.net c# multithreading

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

带点击事件的WPF图像控制

我希望<Image>在我的WPF应用程序中使用一个响应鼠标点击的响应.只有'Mouse Up'和'Moue Down'活动才能开箱即用.我觉得这很特别.有没有办法扩展控件或使用另一个控件来产生相同的效果?

wpf xaml

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

为什么我会导致群集索引更新?

我正在执行以下声明:

UPDATE TOP(1) dbo.userAccountInfo
SET           Flags = Flags | @AddValue
WHERE         ID = @ID;
Run Code Online (Sandbox Code Playgroud)

列'ID'是具有IDENTITY约束的INT PRIMARY KEY.标志是BIGINT NOT NULL.

执行路径指示正在发生聚簇索引更新.一个非常昂贵的操作.除主键外,没有包含Flags或ID的索引.我觉得实际的执行路径应该是:

聚集索引查找=>更新

sql sql-server-2005

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

如何从使用T-SQL的过程返回空结果集?

我有兴趣在某些事件中从SQL Server存储过程返回一个空结果集.

预期的行为是L2SQL DataContext.SPName().SingleOrDefault()将导致CLR空值.

我现在正在使用以下解决方案,但我不确定它是否会被视为不良做法,性能危害(我无法通过阅读执行计划找到),或者是否有更好的方法:

SELECT * FROM [dbo].[TableName]
WHERE 0 = 1;
Run Code Online (Sandbox Code Playgroud)

执行计划是一项持续扫描,其中包含与之相关的微不足道的成本.

我问这个而不是简单地不运行任何SELECT的原因是因为我担心以前的SELECT @scalar或SELECT INTO语句可能导致意外的结果集被送回L2SQL.我什么都不担心?

t-sql sql-server sql-server-2008

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

何时使用Unicode规范化形式NFC和NFD?

Unicode规范化常见问题包括以下内容:

程序应始终将规范等效的Unicode字符串比较为相等... Unicode标准提供了可用于此的明确定义的规范化形式:NFC和NFD.

继续......

选择使用哪个取决于特定的程序或系统.NFC是一般文本的最佳形式,因为它与从传统编码转换的字符串更兼容.... NFD和NFKD对内部处理最有用.

我的问题是:

什么使NFC成为"一般文本"的最佳选择.什么定义"内部处理",为什么最好留给NFD?最后,只要使用相同的规范化形式比较两个字符串,两个形式可以互换,从不关注什么是"最佳"?

string unicode normalization unicode-normalization

21
推荐指数
2
解决办法
8123
查看次数

将远程快退回到先前的提交

作为一个初级git用户,我被一个艰难的合并所淹没,一定做错了.我最终在我的源文件中提交了一堆乱七八糟的垃圾解决方案.提交显示了许多看起来像<<<<<<< HEAD和的行的添加>>>>>>> a7b4de79431c2e73d28621c72c8d14820df1a24b.提交已经被推送到远程源,所以我不幸只能修改提交.

我想将远程存储库回滚到最后一次良好的提交,4a3ba7b0e56cf0be80274c1f879029220a889bde并且(如果可能的话)销毁错误的提交d004651972cbc35f70ee5a2145b6e03169c77279.

我试过了:

git checkout 4a3ba7
git push -f
Run Code Online (Sandbox Code Playgroud)

得到了: fatal: You are not currently on a branch.

git

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

删除处理对象时的处理程序

我可以想到一些解决这个问题的方法,但是我觉得应该有一个比我已经提出的更优雅的解决方案.

对象在被处置之前清除其所有事件处理程序的最合适方式是什么.遗憾的是事件处理程序无法枚举.

理论上,对于将处理程序添加到对象以记住删除它的代码,假设对象在超出范围之前将自行清理,是否更为正确?

.net c#

8
推荐指数
3
解决办法
3310
查看次数

OWIN配置:CookieAuthenticationDefaults.AuthenticationType和DefaultAuthenticationTypes.ApplicationCookie之间有什么区别

我正在重新审视我的OwinStartup类中的一些代码并具有以下定义:

app.UseCookieAuthentication(new CookieAuthenticationOptions {
    AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
    LoginPath = new PathString("/login")
});
Run Code Online (Sandbox Code Playgroud)

常数DefaultAuthenticationTypes.ApplicationCookie似乎来自Microsoft.AspNet.Identity.Core并具有价值"ApplicationCookie".

常数CookieAuthenticationDefaults.AuthenticationType来自Microsoft.Owin.Security.Cookies并具有价值"Cookies".它的autodocs读取[在CookieAuthenticationOptions]中使用的默认值 ...

这两个常量对OWIN管道有什么影响?

我没有在我的解决方案中的任何其他位置使用任何AspNet.Identity.Core,所以我应该删除依赖项并使用CookieAuthenticationDefaults吗?

c# asp.net owin asp.net-identity

8
推荐指数
0
解决办法
1390
查看次数

修改.ui文件需要`make clean`

问题:当在Qt Designer中更改了QMainWindow或QDialog的相应.ui文件时,必须清理并重建整个项目才能使这些更改生效:make clean然后make.如果未首先清除项目,则更改将不会反映在可执行文件中.

项目结构:

./
    project.pro
./include/
    MainWindow.h
    Main.h
./src/
    MainWindow.cpp
    Main.cpp
./ui/
    MainWindow.ui
Run Code Online (Sandbox Code Playgroud)

资料来源:

MainWindow.h:

#include <QMainWindow>
#include "ui_MainWindow.h"

class MainWindow : public QMainWindow, private Ui::MainWindow
{
    Q_OBJECT
    public:

    MainWindow();
};
Run Code Online (Sandbox Code Playgroud)

MainWindow.cpp:

#include "MainWindow.h"

MainWindow::MainWindow()
{
    Ui::MainWindow::setupUi(this);
}
Run Code Online (Sandbox Code Playgroud)

project.pro:

TEMPLATE = app
CONFIG -= debug release
CONFIG += qt debug_and_release warn_on incremental flat link_prl embed_manifest_dll embed_manifest_exe
QT += xml xmlpatterns

INCLUDEPATH += include/
UI_DIR = include/

FORMS += ui/MainWindow.ui
HEADERS += include/MainWindow.h …
Run Code Online (Sandbox Code Playgroud)

c++ qt

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

可以通过控制台而不是通过IIS承载ASP.NET Core网站

解决方案和服务器配置:

我已经开发了一个相当简单的ASP.NET Core应用程序。它由在Visual Studio 2017中创建和构建的核心项目文件组成。目标框架为.NETCoreApp 1.1,平台目标为x64

它还包含两个具有目标框架.NETStandard 1.4和Platform target的类库项目x64

由于VS2017的Web Deploy中的错误,我正在发布到文件系统,然后PublishOutput使用FTP 将其内容复制到IIS应用程序的目录中。

我的服务器是Windows Server 2012 R2,具有所有相关的Service Pack和更新。已安装DotNet Core运行时。

问题:

当我在浏览器中导航到站点的URL时,遇到一个淡淡的HTML页面,该页面指示以下内容:

HTTP Error 502.5 - Process Failure

Common causes of this issue: (lists things)
Troubleshooting steps: (lists things)
For more information visit http://go.microsoft.com/fwlink/?linkid=808681
Run Code Online (Sandbox Code Playgroud)

解决步骤:

不用说,我已经按照指示进行了解决。给定的链接在“ 平台与RID冲突 ”标题下显示了我的错误。

事件查看器具有以下错误条目:

Application 'MACHINE/WEBROOT/APPHOST/MY SITE' with physical root 'C:\inetpub\wwwroot\mysite\' failed to start process with commandline "dotnet" .\MySite.dll', ErrorCode = '0x80070002 : 0.
Run Code Online (Sandbox Code Playgroud)

通过 …

iis .net-core asp.net-core visual-studio-2017

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