问题列表 - 第23791页

使用BeginInvoke时无响应的UI

Bckground
我有一个用C#编写的网络应用程序.我的服务器程序有一个UI和几个通信线程,从tcp套接字读取并在控制器UI上显示消息.

与每个客户端的通信是通过一个单独的线程完成的.当我从一个客户端收到一些消息流时,该客户端的线程在UI上写入,这是一个Form上的richtextbox.

我调用表单的SetTextHelper(字符串文本)方法.

看起来像这样

private delegate void MyTextUpdateHandler(string text);
public void SetTextHelper(string text)
{
   BeginInvoke(new MyTextUpdateHandler(SetText), new object[] { text });
}

public setText(string text)
{
   richtext.Text+= text;
}
Run Code Online (Sandbox Code Playgroud)

问题
- 如果我使用BeginInvoke,当我向UI写入大量数据时,我的UI完全没有响应 - Invoke解决了这个问题,但我读到了多线程环境,其中很多人共享相同的资源调用可能导致死锁我分享共同点大约16个线程之间的ichtextbox - 对我的情况有什么好处?

.net user-interface multithreading

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

强制用户在离开我的php网站时注销?

在我的php应用程序中,我使用$ _SESSION来跟踪用户是否已登录.如果用户在我的网站http://mysite.com上留下任何页面并转到http://someotherwebsite.com,我想要自动注销,如果他们返回http://mysite.com上的任何页面,他们需要再次登录.

是否有捷径可寻?

php logout

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

版本控制:合并后删除分支?

当您分支一些代码时,完成分支的工作,并将其合并回主干,您如何处理分支?从存储库中删除它?保留供参考?

看起来你会把它作为参考,但我想这个/branches目录可能会变得混乱.

(如果这不是人们普遍认同的,请发表评论,我会将其作为社区维基.)

澄清

jleedev 是对的 - 我们应该指定我们正在谈论的版本控制系统.

我考虑过Subversion,但也希望听到有关其他系统的回复.请说明您正在回答哪一个,或者,如果您想获得接受的答案<贿赂> <bribery>,请比较和对比几个系统.

svn version-control

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

VIM搜索/替换2个括号或列之间的空格

给出以下行:

[aaaa bbbb cccc dddd] [decimal](18, 0) NULL,
Run Code Online (Sandbox Code Playgroud)

如何在Vim的第一组括号之间替换空格?/ s命令会是什么样的?

更新:

这是预期的结果

    [aaaa_bbbb_cccc_dddd] [decimal](18, 0) NULL,
Run Code Online (Sandbox Code Playgroud)

regex vim replace

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

PHP:将curl_exec输出转换为UTF8

我想只使用UTF8.问题是我不知道每个网页的字符集.如何检测并转换为UTF8?

<?php
$url = "http://vkontakte.ru";
$ch = curl_init($url);
$options = array(
    CURLOPT_RETURNTRANSFER => true,
);
curl_setopt_array($ch, $options);
$data = curl_exec($ch);

// $data = magic($data);

print $data;
Run Code Online (Sandbox Code Playgroud)

请参阅:http://paulisageek.com/tmp/curl-utf8

什么是magic()

php unicode utf-8

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

binary_search不适用于vector <string>

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main(void)
{
    string temp;
    vector<string> encrypt, decrypt;
    int i,n, co=0;
    cin >> n;
    for(i=0;i<n;i++)
    {
        cin >> temp;
            encrypt.push_back(temp);
    }
    for(i=0;i<n;i++)
    {
        cin >> temp;
        decrypt.push_back(temp);
    }
    for(i=0;i<n;i++)
    {
        temp = encrypt[i];
        if((binary_search(decrypt.begin(), decrypt.end(), temp)) == true) ++co;
    }
    cout << co << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

它读取两个相等的字符串列表,并且应该打印出第一个列表中有多少单词也可以在第二个列表中找到,简单.不给我经过考验的结果,我认为问题出在binary_search中.你能告诉我为什么吗 ?

c++ string vector binary-search

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

谷歌应用引擎上的webapp,tipfy或django

你在谷歌应用引擎上使用哪一个?

你决定背后的原因是什么?

python django google-app-engine web-applications tipfy

10
推荐指数
3
解决办法
2201
查看次数

具有相对尺寸的RectangleGeometry ......怎么样?

我正试图在我正在创建的按钮的控制模板上复制如今时尚的"反射"效果.

基本思想是创建一个矩形,其渐变填充从白色到透明,然后用矩形几何体剪切一些半透明矩形.

问题是我不知道如何定义相对矩形几何.我通过定义一个大值(1000)来解决宽度问题,但高度是一个问题.例如,它适用于高度为200的按钮,但对于较小的按钮不起作用.

有任何想法吗?

            <Rectangle RadiusX="5" RadiusY="5" StrokeThickness="1" Stroke="Transparent">
                <Rectangle.Fill>
                    <LinearGradientBrush StartPoint="0,0" EndPoint="0,0.55">
                        <GradientStop Color="#66ffffff" Offset="0.0"  />
                        <GradientStop Color="Transparent" Offset="1.0" />
                    </LinearGradientBrush>
                </Rectangle.Fill>
                <Rectangle.Clip>
                    <RectangleGeometry Rect="0,0,1000,60" />
                </Rectangle.Clip>
            </Rectangle>
Run Code Online (Sandbox Code Playgroud)

wpf controls clipping controltemplate

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

Zend Framework:isValid()清除禁用表单字段中的值!

提交表单时,请求中不会提交已禁用的表单字段.

因此,如果您的表单具有禁用的表单字段,那么它会让您Zend_Form::isValid()感到有点沮丧.

$form->populate($originalData);
$form->my_text_field->disabled = 'disabled';
if (!$form->isValid($_POST)) {
    //form is not valid
    //since my_text_field is disabled, it doesn't get submitted in the request
    //isValid() will clear the disabled field value, so now we have to re-populate the field
    $form->my_text_field->value($originalData['my_text_field']);
    $this->view->form = $form;
    return;
}

// if the form is valid, and we call $form->getValues() to save the data, our disabled field value has been cleared!
Run Code Online (Sandbox Code Playgroud)

无需重新填充表单,并创建重复的代码行,解决此问题的最佳方法是什么?

zend-framework zend-form

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

如何从gsp调用Grails服务?

如何直接从视图调用服务?我正在尝试${my.domain.service.method},但它抱怨它找不到属性.

不,我不想使用控制器,因为视图是模板.

service grails view gsp

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