问题列表 - 第23702页

.NET 线程池 - WinForms UI 无响应

设想

我有一个 Windows 窗体应用程序。主窗体内部有一个循环,迭代大约 3000 次,在新线程上创建类的新实例来执行一些计算。请记住,此设置使用线程池,当此循环只有大约 100 次迭代(要处理 100 个资产)时,UI 确实保持响应。但一旦这个数字开始大幅增加,UI 就会锁定到 Eggtimer 模式,因此写入表单上列表框的日志将变得不可读。

问题

我是否正确地认为解决此问题的最佳方法是使用后台工作人员?UI 是否锁定,因为即使我使用许多不同的线程(为了速度),UI 本身并不位于其自己的单独线程上?

非常感谢建议的实施。

编辑!!

因此,我们可以说,我决定以 100 个为一组进行批量处理,而不是仅仅发送并排队 3000 个资产进行处理。我将如何有效地做到这一点?我早些时候尝试添加“Thread.Sleep(5000);” 每一批 100 个都被发射之后,但整个事情似乎一团糟......

c# backgroundworker winforms threadpool

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

是否所有死锁都是由错误的查询引起的

"事务(进程ID 63)在锁定通信缓冲区资源上与另一个进程陷入僵局,并被选为死锁牺牲品.重新运行该事务." 可能的失败原因:查询问题,"ResultSet"属性设置不正确,参数设置不正确或连接未正确建立.

这个死锁可能是由存储过程使用的东西引起的,比如SQL邮件吗?或者它总是导致我的两个应用程序同时访问同一个表?

sql-server deadlock

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

为类添加一个decorate函数

我有一个装饰功能(简化版):

class Memoize:
    def __init__(self, function):
        self.function = function
        self.memoized = {}
    def __call__(self, *args, **kwds):
        hash = args
        try:
            return self.memoized[hash]
        except KeyError:
            self.memoized[hash] = self.function(*args)
            return self.memoized[hash]


@Memoize
def _DrawPlot(self, options):
    do something...
Run Code Online (Sandbox Code Playgroud)

现在我想将此方法添加到预先存在的类中.

ROOT.TChain.DrawPlot = _DrawPlot
Run Code Online (Sandbox Code Playgroud)

当我称这种方法时:

chain = TChain()
chain.DrawPlot(opts)
Run Code Online (Sandbox Code Playgroud)

我有:

self.memoized[hash] = self.function(*args)
TypeError: _DrawPlot() takes exactly 2 arguments (1 given)
Run Code Online (Sandbox Code Playgroud)

为什么不传播自我?

python class decorator descriptor

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

Kohana3:开发和生产环境的不同.htaccess rewritebase和kohana base_url

在我,bootstrap.php我有以下内容:

if($_SERVER['SERVER_NAME'] == 'localhost')
    Kohana::$environment = 'development';
else
    Kohana::$environment = 'production';

...

switch(Kohana::$environment)
{
    case 'development':
        $settings = array('base_url' => '/kohana/', 'index_file' => FALSE);
        break;

    default:
        $settings = array('base_url' => '/', 'index_file' => FALSE);
        break;
}
Run Code Online (Sandbox Code Playgroud)

.htaccess有这样的:

# Installation directory
RewriteBase /kohana/
Run Code Online (Sandbox Code Playgroud)

这意味着如果我只是上传我的kohana应用程序,它将会中断,因为.htaccess文件中的RewriteBase 是错误的.有没有办法我可以在.htaccess文件中有条件类似于我在引导程序中的条件,以便它将使用正确的RewriteBase?

php .htaccess kohana kohana-3

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

用DBNULL检查ASP.Net值

我有以下代码

foreach (DataRowView dr in Data)
        {
            if (dr == System.DBNull.Value)
            {
                nedID = 1;
            }
        }
Run Code Online (Sandbox Code Playgroud)

但我得到以下错误操作符==不能应用于类型System.Data.DataRowView和操作数System.DBNull

请有人建议我如何检查值是否为空或DBNULL

asp.net dbnull

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

声明"struct"类型的原型 - C.

我已经绞尽脑汁待了一段时间,我只是想创建一个返回结构的方法,因为我希望返回两个int.

我的方法原型如下:

typedef struct RollDice();
Run Code Online (Sandbox Code Playgroud)

方法本身也是:

typedef struct RollDice()
{
 diceData diceRoll;

 diceRoll.dice1 = 0;
 diceRoll.dice2 = 0;

 return diceRoll;
}
Run Code Online (Sandbox Code Playgroud)

编译器显示错误:"Syntax error: ')'"原型和实际方法.

结构本身:

typedef struct
{
 int dice1;
 int dice2;
}diceData;
Run Code Online (Sandbox Code Playgroud)

我出错的地方很明显吗?我已经尝试了所有我能想到的东西.

谢谢

编辑/解决方案:

为了使程序能够使用建议的解决方案,我必须对结构进行以下更改,

typedef struct diceData
    {
     int dice1;
     int dice2;
    };
Run Code Online (Sandbox Code Playgroud)

c struct

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

Firefox和IE - Firefox处理<span>内部表(html和css)

我很难让span标签在桌面内正常工作.看起来似乎忽略了在Firefox中的表标签之间的任何位置定义的整个span标记,但是在IE中它正确显示.

也许我错过了一些东西,但我创建了一个小例子CSS和html文件,在Firefox和IE中显示不同.希望有人可以告诉我它为什么会这样表现,或者我如何重新排列html来解决Firefox中的问题.

--- ---的main.css

.class1 A:link {color:#960033; text-decoration: none}
.class1 A:visited {color:#960033; text-decoration: none}
.class1 A:hover {color:#0000FF; font-weight: bold; text-decoration: none}
.class1 A:active {color:#0000FF; font-weight: bold; text-decoration: none}

.class2 A:link {color:#960033; text-decoration: none}
.class2 A:visited {color:#960033; text-decoration: none}
.class2 A:hover {color:#0000FF; text-decoration: none}
.class2 A:active {color:#0000FF; text-decoration: none}
Run Code Online (Sandbox Code Playgroud)

--- TEST.HTM ---

<HTML>
<HEAD>
<title>Title Page</title>
<style type="text/css">@import url("/css/main.css");</style>
</HEAD>

<span class="class1">
<BODY>

<table><tr><td>
---Insert Hyperlink---<br>
</td></tr>

</span><span class="class2">

<tr><td>
---Insert Hyperlink---<br>

</td></tr></table>

</span>
</BODY>
</HTML>
Run Code Online (Sandbox Code Playgroud)

html css firefox html-table

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

如何在触发器中使用属性后面的代码来更改控件属性?

我试图在我的WPF应用程序中做一个相当简单的事情,或者至少我认为它很简单.

我有一个窗口,在后面的代码中包含一个int属性.我们称之为IntProperty.Window实现了INotifyPropertyChanged接口,IntProperty在更改时触发通知.它看起来像这样:

        public int IntProperty
    {
        get
        {
            return intProperty;
        }

        private set
        {
            if (value != intProperty)
            {
                intProperty = value;
                NotifyPropertyChanged("IntProperty");
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

在xaml文件中,我定义了一个在Fill属性中设置了特定颜色的Rectangle.

                    <Rectangle x:Name="MyRectangle" Fill="Red" Width="100" Height="5" Margin="3,0,0,0" VerticalAlignment="Center" />
Run Code Online (Sandbox Code Playgroud)

我现在要做的是根据IntProperty的值设置Fill属性.我正在寻找一些简单的xaml线来触发这种变化.

它应该看起来像这样(AppWindow是Window的名称):

<Rectangle x:Name="MyRectangle" Fill="Red" Width="100" Height="5" Margin="3,0,0,0" VerticalAlignment="Center">
<Rectangle.Triggers>
    <Trigger SourceName="AppWindow" Property="IntProperty" Value="1">
        <Setter TargetName="MyRectangle" Property="Fill" Value="Green" />
    </Trigger>
</Rectangle.Triggers>
Run Code Online (Sandbox Code Playgroud)

有没有简单的方法来做到这一点?到目前为止,我找不到任何简单的解决方案.如果有人能指出我正确的方向,我将不胜感激.

谢谢!

wpf xaml triggers properties

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

如何加入mysql表

我有一张像这样的旧桌子:

user> id | name | address | comments
Run Code Online (Sandbox Code Playgroud)

现在我要创建一个"别名"表,以允许某些用户出于某些原因拥有别名.我已经创建了一个新表'user_alias',如下所示:

user_alias> name | user
Run Code Online (Sandbox Code Playgroud)

但是由于我的SQL级别很差,现在我遇到了问题...如何连接两个表来生成这样的东西:

1 | my_name    | my_address    | my_comments
1 | my_alias   | my_address    | my_comments
2 | other_name | other_address | other_comments
Run Code Online (Sandbox Code Playgroud)

我的意思是,我想创建一个"SELECT ..."查询,返回的格式与"user"表格中所有用户和ALL别名相同.这样的事情:

SELECT user.* FROM user LEFT JOIN user_alias ON `user`=`id`
Run Code Online (Sandbox Code Playgroud)

但它对我不起作用..

mysql sql left-join

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

IMDB Grabber PHP

我收到一个错误:

注意:未定义的变量:第17行的C:\ wamp\www\includes\imdbgrabber.php中的内容

使用此代码时:

<?php
//url
$url = 'http://www.imdb.com/title/tt0367882/';

//get the page content
$imdb_content = get_data($url);

//parse for product name
$name = get_match('/<title>(.*)<\/title>/isU',$imdb_content);
$director = strip_tags(get_match('/<h5[^>]*>Director:<\/h5>(.*)<\/div>/isU',$imdb_content));
$plot = get_match('/<h5[^>]*>Plot:<\/h5>(.*)<\/div>/isU',$imdb_content);
$release_date = get_match('/<h5[^>]*>Release Date:<\/h5>(.*)<\/div>/isU',$imdb_content);
$mpaa = get_match('/<a href="\/mpaa">MPAA<\/a>:<\/h5>(.*)<\/div>/isU',$imdb_content);
$run_time = get_match('/Runtime:<\/h5>(.*)<\/div>/isU',$imdb_content);

//build content


line 17 -->  $content.= '<h2>Film</h2><p>'.$name.'</p>';
    $content.= '<h2>Director</h2><p>'.$director.'</p>';
    $content.= '<h2>Plot</h2><p>'.substr($plot,0,strpos($plot,'<a')).'</p>';
    $content.= '<h2>Release Date</h2><p>'.substr($release_date,0,strpos($release_date,'<a')).'</p>';
    $content.= '<h2>MPAA</h2><p>'.$mpaa.'</p>';
    $content.= '<h2>Run Time</h2><p>'.$run_time.'</p>';
    $content.= '<h2>Full Details</h2><p><a href="'.$url.'" rel="nofollow">'.$url.'</a></p>';

    echo $content;

//gets the match content
function get_match($regex,$content)
{
    preg_match($regex,$content,$matches);
    return $matches[1];
}

//gets the data …
Run Code Online (Sandbox Code Playgroud)

php variables curl imdb undefined

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