问题列表 - 第2307页

WPF Dispatcher.Invoke'hanging'

我有一个有点复杂的WPF应用程序,当尝试使用调度程序在UI线程上调用调用时,似乎是"挂起"或卡在Wait调用中.

一般过程是:

  1. 处理按钮上的单击事件
  2. 创建一个新线程(STA),其中:创建演示者和UI的新实例,然后调用Disconnect方法
  3. 断开然后在名为Name的UI上设置属性
  4. 然后,Name的setter使用以下代码来设置属性:

    if(this.Dispatcher.Thread != Thread.CurrentThread)
    {
        this.Dispatcher.Invoke(DispatcherPriority.Normal, (ThreadStart)delegate{
            this.Name = value; // Call same setter, but on the UI thread
        });
        return;
    }

    SetValue(nameProperty, value); // I have also tried a member variable and setting the textbox.text property directly.
Run Code Online (Sandbox Code Playgroud)

我的问题是,当调用 dispatcher invoke方法时,它似乎每次都挂起,并且callstack指示它处于休眠状态,等待或加入Invoke实现.

那么,有什么我做错了,我错过了,显而易见或没有,或者有更好的方法调用UI线程来设置这个属性(和其他)?

编辑:解决方案是在线程委托的末尾调用System.Windows.Threading.Dispatcher.Run()(例如,正在执行工作的地方) - 感谢所有帮助过的人.

.net c# wpf invoke dispatcher

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

实体框架和LINQ to SQL - 利益冲突?

过去一周,我一直在博客圈阅读Linq to SQL已经死亡[以及EF和Linq to Entities的长期存在].但是当我阅读MSDN上的概述时,我觉得Linq to Entities就像Linq to SQL生成SQL查询一样生成eSQL.

现在,由于底层实现(以及SQL Server还不是ODBMS)仍然是一个Relational存储,在某些时候,Entity框架必须转换为SQL查询.为什么不修复Linq to SQL问题(m:m关系,只有SQL服务器支持等)并使用Linq to SQL作为生成这些查询的层?

这是因为性能还是EF使用不同的方式将eSQL语句转换为SQL?

在我看来 - 至少对于我没有学过的头脑 - 在EF中自然适合Linq to SQL.

评论?

linq linq-to-entities entity-framework entity-sql linq-to-sql

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

我应该创建一个新的石英作业并触发一个作业和多个触发器吗?

我希望使用quartz来安排电子邮件,但我不确定采取哪种方法:

  1. 创建新作业并在计划电子邮件时触发OR
  2. 创建单个作业,并在每次安排电子邮件时创建新的触发器

我需要以任何方式传递消息/收件人等,而且我不确定创建大量工作是否会开始增加大量内存开销,因为很可能会安排数千封电子邮件.

更新:这些电子邮件将由用户安排,而不是我 - 所以我将在运行时以编程方式添加这些电子邮件,它们不会在任何特定时间安排.

java scheduling quartz-scheduler

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

如何控制触发事件处理程序的顺序?

事件处理程序是否按照它们附加到事件的顺序触发?如果没有,我可以在事件处理程序上强制执行某种顺序,以便按特定顺序调用它们吗?

.net events

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

$ .getJSON在IE8中返回缓存数据

我现在正在玩ASP.net MVC和JQuery.我遇到了似乎没有意义的行为.

我正在调用JQuery的$.getJSON函数来填充一些div.该事件在事件中触发$(document).ready.这非常有效.

有一个小的AJAX.BeginForm,添加了在填充div时使用的另一个值.它正确调用远程函数,并在成功时调用原始的javascript函数来重新填充div.

这是奇怪的部分:在FireFox和Chrome中 - 一切正常.但是在IE8(Beta)中,对填充的Div脚本(调用$ .getJSON函数)的第二次调用会获取缓存数据,而不会询问服务器!

希望这个问题有道理:在坚果壳中 - 为什么要$.getJSON获取缓存数据?为什么它只影响IE8?

asp.net-mvc jquery getjson internet-explorer-8

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

多个菜单项以粗体显示

我一直在研究以粗体显示菜单项所需的努力 - 无需自己绘制菜单 - 并MFS_DEFAULT在一些谷歌搜索后发现了菜单项状态。MSDN文档提到

MFS_DEFAULT
指定该菜单项是默认菜单项。一个菜单只能包含一个默认菜单项,该菜单项以粗体显示。

我进行了实验,似乎文档相反,我似乎能够使用此标志以粗体显示多个(或可能全部!)菜单项。有谁有这方面的经验,即多个粗体菜单项是否存在任何陷阱?实现我想要实现的目标确实感觉有点麻烦,而且我有点担心未知的副作用(即在一个菜单中有多个“默认”菜单项)。

编辑:我还应该补充一点,本文声称该MFS_DEFAULT标志除了以粗体显示菜单项外什么也不做;尽管如此,我对违反“官方”文档还是有点警惕......

EDIT2:这样做的目的是告诉用户有问题的菜单项(即粗体的菜单项)也可以通过双击有问题的控件来调用(菜单项是上下文菜单的一部分)。当我思考这个问题时,我没有考虑这样一个事实:通常只有一个命令可以与双击事件关联(天啊!)。因此我接受了zaphod的回答(它没有直接回答这个问题,但它确实解决了我的“问题”)

c++ windows menu bold

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

从Python设置gzip时间戳

我对使用Python gzip模块压缩数据感兴趣.碰巧我希望压缩输出是确定性的,因为通常情况下这通常是一个非常方便的属性 - 如果一些非gzip感知的进程要在输出中寻找变化,比如说,或者如果输出将以加密方式签名.

不幸的是,每次输出都不同.据我所知,唯一的原因是gzip头中的timestamp字段,Python模块总是填充当前时间.我不认为你真的被允许有一个没有时间戳的gzip流,这太糟糕了.

在任何情况下,Python gzip模块的调用者似乎都没有办法提供底层数据的正确修改时间.(实际gzip程序似乎尽可能使用输入文件的时间戳.)我想这是因为基本上唯一关心时间戳的是gunzip写入文件时的命令 - 现在,我,因为我想要确定性的输出.这是不是要求太过分了?

还有其他人遇到过这个问题吗?

gzip使用Python的任意时间戳来获取某些数据的最不可靠的方法是什么?

python gzip

7
推荐指数
2
解决办法
1892
查看次数

如何获取Google搜索的最高结果?

在PHP脚本中,我想获得Google搜索的最高结果的URL并重定向到它.我可以刮掉但是有更好的方法吗?

php

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

php Echo /打印多行字符串?

我有一个php文件启动我的exe.exe执行cout并且文本以html格式打印,这一切都很好.直到我写"someline \n"; \n打破输出,我只看到最后一行.如何打印/回显其中包含多行的文本/字符串?

当前的粘贴已经注释掉,我的文本打印正常.它在控制台看起来很丑陋,当我用IE7查看源码时(虽然我主要用FF浏览),看起来很痛苦.这是我目前的php和cpp文件

<html>
<head>
</head>
<body>
<?php
echo( exec('c:/path/to/exe/launchMe.exe hey lol hi') );
?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

CPP

#include <string>
#include <iostream>
#include <sstream>
using namespace std;

const string htmlLine(string s)
{
    s+= "<br />";
//  s += "\n";
    return s;
}

int main(int argc, char *argv[])
{
    stringstream s;
    s << argc;
    cout << htmlLine("woot") << htmlLine(s.str());
    for (int i=0; i<argc; ++i)
    {
        s.str("");
        s << i << " = " << argv[i];
        cout << htmlLine(s.str());
    }
    return …
Run Code Online (Sandbox Code Playgroud)

php multiline echo

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

.config到构造函数的技巧?

我正在开发一个快速项目来监控/处理数据.基本上,这只是监视器,计划和处理器.监视器使用计划检查数据(ftp,本地,imap,pop等)并将新数据发送到处理器.它们都有接口.

我正在尝试找到一种合理的方法来使用config来配置每个监视器使用的调度/处理器.这很简单:

<monitor type="any.class.implementing.monitor">
    <schedule type="any.class.implementing.schedule">
        ...
    </schedule>
    <processor type="any.class.implementing.processor" />
</monitor>
Run Code Online (Sandbox Code Playgroud)

我正在努力解决的问题是配置任何旧监视器/日程表/处理器的最佳方法是什么.一方面,可以实现构造函数参数或属性(给出任何语法):

<monitor type="any.class.implementing.monitor">
    <args>
        <arg value="..." />
    </args>
    <properties>
        <property name="..." value=..." />
    </properties>
    <schedule type="any.class.implementing.schedule">
        ...
    </schedule>
    <processor type="any.class.implementing.processor" />
</monitor>
Run Code Online (Sandbox Code Playgroud)

另一个解决方案是每个接口中的工厂方法,它将自定义配置作为参数:

public IMonitor Create(CustomConfigSection config);
Run Code Online (Sandbox Code Playgroud)

我见过人们都使用它们.你喜欢哪个?将配置映射到构造函数时的任何技巧?

对于DI是否能适应这种混乱,我有点不知所措.最后,它将是每个监视器实例的一组绑定,除了默认值(配置可以覆盖)之外,这似乎毫无意义.

.net configuration factory interface inversion-of-control

5
推荐指数
0
解决办法
222
查看次数