小编Mar*_*own的帖子

发布模式下的无限循环

当我在调试模式下运行以下代码时,它将成功完成并退出.但是,如果我在发布模式下运行以下代码,它将陷入无限循环而永远不会完成.

static void Main(string[] args)
{
    bool stop = false;

    new Thread(() =>
    {
        Thread.Sleep(1000);
        stop = true;
        Console.WriteLine("Set \"stop\" to true.");

    }).Start();

    Console.WriteLine("Entering loop.");

    while (!stop)
    {
    }

    Console.WriteLine("Done.");
}
Run Code Online (Sandbox Code Playgroud)

哪种优化导致它陷入无限循环?

.net c# multithreading

19
推荐指数
2
解决办法
1530
查看次数

Webpy:如何将http状态代码设置为300

也许这是一个愚蠢的问题,但我无法弄清楚如何在webpy中使用http状态代码.

在文档中,我可以看到主状态代码的类型列表,但是有一个通用函数来设置状态代码吗?

我正在尝试实现一个unAPI服务器,它需要回复一个300 Multiple Choices只有一个标识符的请求.更多信息在这里

谢谢!

编辑:我刚刚发现我可以通过web.ctx这样做来设置它

web.ctx.status = '300 Multiple Choices'

这是最好的解决方案吗?

python http-status-codes web.py http-headers

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

在Linux中使用Python创建GUI

快问.

我正在使用Linux,我想尝试使用Python制作GUI.我听说过像Qt,GTK +和PyGTK这样的东西,但我不知道它们究竟是什么,它们之间的区别是什么.

他们如何使用GNOME,KDE,XFCE等不同的DE有什么不同吗?是否有任何IDE允许您像Microsoft Visual Studio一样创建GUI(对于C#,C,Visual Basic等)?

或者我应该使用除Python以外的其他语言来制作GUI应用程序?

python linux gtk user-interface pygtk

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

Amazon SES - 电子邮件地址中的非ASCII字符

我正在尝试使用Amazon SDK for .NET和SES发送电子邮件.我有一封包含特殊字母的电子邮件,例如:

ęxąmplę@źćż.com

对于域部分,我读到有关Punycode的方法,并且工作正常.但对于地址的本地部分,我似乎无法找到解决方案:我尝试使用RFC 2047编码整个电子邮件,但随后SES返回'缺少最终@域'错误,所以我尝试只编码一个本地部分,所以电子邮件将是

=?ISO-8859-1?B?SWYgeW91IGNhbiByZWFkIHRoaXMgeW8=?=@punycodeemail.com
Run Code Online (Sandbox Code Playgroud)

但这似乎也不起作用.有人成功地解决了这个问题吗?

.net email punycode amazon-web-services amazon-ses

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

如何在使用@require_POST时在Django中显示HTTP状态405(不允许使用方法)的自定义错误页面

我的问题很简单,在使用@require_POST装饰器时,如何在Django中显示HTTP状态405(方法不允许)的自定义错误页面?

我正在使用django.views.decorators.http.require_POST装饰器,当GET请求访问页面时,控制台显示405错误,但页面只是空白(甚至不是Django错误页面).如何让Django显示此类错误的自定义和/或默认错误页面?

编辑:值得一提的是,我已经尝试在我的模板文件夹中放置一个404.html,500.html和405.html页面 - 但这也无济于事.我曾经也之间的变化DEBUG = TrueFalse,都无济于事.

django http-status-codes http-status-code-405

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

在C#中使用可空类型

我只是对人们的意见感兴趣.在C#中使用可空类型时,测试null的最佳实践方法是什么:

bool isNull = (i == null);
Run Code Online (Sandbox Code Playgroud)

要么

bool isNull = !i.HasValue;
Run Code Online (Sandbox Code Playgroud)

同样,当分配给非null类型时:

long? i = 1;
long j = (long)i;
Run Code Online (Sandbox Code Playgroud)

优于:

long? i = 1;
long j = i.Value;
Run Code Online (Sandbox Code Playgroud)

c# nullable

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

哪个.config元素影响异常处理,UnhandledExceptionMode设置为UnhandledExceptionMode.Automatic?

我有一个Windows窗体应用程序,在程序启动时有这个代码:

Application.SetUnhandledExceptionMode(UnhandledExceptionMode.Automatic);
Run Code Online (Sandbox Code Playgroud)

UnhandledExceptionMode.Automatic的MSDN文档中,它声明:

自动 - 将所有异常路由到ThreadException处理程序,除非应用程序的配置文件另行指定.

有没有人确切知道配置文件中哪个元素/属性会影响此设置?

c# configuration winforms

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

如何拆除specflow场景

我正在尝试创建一组新的测试来测试我正在处理的遗留网站.该站点在后端使用数据库.我打算使用SpecFlow和Selenium,但是我对处理清理数据的最佳方法感到有点困惑.

目前,我有一组数据库备份,其中包含一组样本数据,我会在每次测试运行之前将其恢复.然而,这很麻烦,因此我只想在发布之前对关键测试运行执行此操作,并使持续集成运行在两者之间的同一数据库上运行.

目前我有大量的测试,如下所示:

Secenario: Test Item Creation
    Given I am logged in
    When I create an item with a unique name
    Then an item exists with the unique name
Run Code Online (Sandbox Code Playgroud)

when步骤使用GUID来确保名称是唯一的,然后步骤可以通过模块变量访问它以检查它是否存在.

就像我说的那样,我有很多类似的测试,我在同一个数据库上多次运行它们,所以测试系统充满了物品,这会减慢搜索速度等.

我的问题是处理这个问题的最佳方法是什么?我应该在测试中创建另一个步骤,再次删除该项目,如下所示:

Secenario: Test Item Creation
    Given I am logged in
    When I create an item with a unique name
    Then an item exists with the unique name
    Then delete the item with the unique name
Run Code Online (Sandbox Code Playgroud)

或者我的测试框架应该以某种方式处理这个问题?如果是这样,人们做什么?鉴于SpecFlow步骤的全局性,我认为如果具有父子关系的多个项目可能成为问题,则以正确的顺序获取拆除步骤.

database test-data scenarios specflow teardown

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

如何让FxCop规则CA1726忽略首选术语?

FxCop有一条规则(CA1726),用于检查首选术语.这会查找"Dont"之类的单词,并告诉您用更好的单词替换它们,例如"Do not".一般情况下这很好,但它反对的术语之一是"Flag".在我们公司,业务涉及Flags意味着旗杆末端的那些布料.每次抑制这个规则都变得很痛苦.有没有人知道如何让这条规则适用于除"Flag"之外的所有事情?

注意:我知道我可以完全关闭规则,但我不想这样做.我只想关掉部分规则.

fxcop suppression

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

应用程序打开时如何更改应用程序设置(设置)?

我编写了一个类,可以让我在应用程序设置中轻松读取和写入值:

public static class SettingsManager
    {
        public static string ComplexValidationsString
        {
            get { return (string)Properties.Settings.Default["ComplexValidations"]; }
            set
            {
                Properties.Settings.Default["ComplexValidations"] = value;
                Properties.Settings.Default.Save();
            }
        }
Run Code Online (Sandbox Code Playgroud)

问题是值没有真正保存,我的意思是当我退出应用程序并再次运行它时它没有改变.我该怎么做才能确保在关闭和再次打开之间保存的值仍然存在?

.net c# application-settings

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