小编Dam*_*isa的帖子

setTimeout还是setInterval?

据我所知,这两个javascript的行为方式相同:

选项A:

function myTimeoutFunction()
{
    doStuff();
    setTimeout(myTimeoutFunction, 1000);
}

myTimeoutFunction();
Run Code Online (Sandbox Code Playgroud)

选项B:

function myTimeoutFunction()
{
    doStuff();
}

myTimeoutFunction();
setInterval(myTimeoutFunction, 1000);
Run Code Online (Sandbox Code Playgroud)

使用setTimeoutsetInterval有什么区别吗?

javascript setinterval

738
推荐指数
12
解决办法
37万
查看次数

在各种浏览器中使用javascript在客户端读取文件内容

我正在尝试提供一个仅限脚本的解决方案,用于通过浏览器读取客户端计算机上的文件内容.

我有一个适用于Firefox和Internet Explorer的解决方案.它不漂亮,但我现在只是在尝试:

function getFileContents() {
    var fileForUpload = document.forms[0].fileForUpload;
    var fileName = fileForUpload.value;

    if (fileForUpload.files) {
        var fileContents = fileForUpload.files.item(0).getAsBinary();
        document.forms[0].fileContents.innerHTML = fileContents;
    } else {
        // try the IE method
        var fileContents = ieReadFile(fileName);
        document.forms[0].fileContents.innerHTML = fileContents;
    }
}       

function ieReadFile(filename) 
{
    try
    {
        var fso  = new ActiveXObject("Scripting.FileSystemObject"); 
        var fh = fso.OpenTextFile(filename, 1); 
        var contents = fh.ReadAll(); 
        fh.Close();
        return contents;
    }
    catch (Exception)
    {
        return "Cannot open file :(";
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以打电话getFileContents(),它会将内容写入fileContents文本区域.

有没有办法在其他浏览器中执行此操作? …

html javascript file-io sandbox

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

大型WCF Web服务请求因(400)HTTP错误请求而失败

我遇到了这个明显常见的问题而且无法解决它.

如果我使用数组参数中相对较少的项目调用我的WCF Web服务(我已经测试了多达50个),一切都很好.

但是,如果我使用500个项目调用Web服务,则会收到错误请求错误.

有趣的是,我在服务器上运行Wireshark,看起来请求甚至没有命中服务器 - 客户端正在生成400错误.

例外是:

System.ServiceModel.ProtocolException: The remote server returned an unexpected response: (400) Bad Request. ---> System.Net.WebException: The remote server returned an error: (400) Bad Request.
Run Code Online (Sandbox Code Playgroud)

system.serviceModel我的客户端配置文件的部分是:

<system.serviceModel>
    <bindings>
        <wsHttpBinding>
            <binding name="WSHttpBinding_IMyService" closeTimeout="00:01:00"
                openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
                maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647"
                messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
                allowCookies="false">
                <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="2147483647"
                    maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                <reliableSession ordered="true" inactivityTimeout="00:10:00"
                    enabled="false" />
                <security mode="None">
                    <transport clientCredentialType="Windows" proxyCredentialType="None"
                        realm="" />
                    <message clientCredentialType="Windows" negotiateServiceCredential="true"
                        establishSecurityContext="true" />
                </security>
            </binding>
        </wsHttpBinding>
    </bindings> …
Run Code Online (Sandbox Code Playgroud)

.net c# wcf web-services

74
推荐指数
6
解决办法
10万
查看次数

运行由ASP.NET网页请求触发的异步操作

我有一个异步操作,由于各种原因需要使用对ASP.NET网页的HTTP调用来触发.当我的页面被请求时,它应该开始此操作并立即向客户端返回确认.

此方法也通过WCF Web服务公开,并且完美地运行.

在我第一次尝试时,抛出异常,告诉我:

Asynchronous operations are not allowed in this context.
Page starting an asynchronous operation has to have the Async
attribute set to true and an asynchronous operation can only be
started on a page prior to PreRenderComplete event.

所以我当然把Async="true"参数添加到@Page指令中.现在,我没有收到错误,但页面阻塞,直到异步操作完成.

如何让真正的"即发即弃"页面正常工作?

编辑: 一些代码以获取更多信息.它比这复杂一点,但我试图在那里得到一般的想法.

public partial class SendMessagePage : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string message = Request.QueryString["Message"];
        string clientId = Request.QueryString["ClientId"];

        AsyncMessageSender sender = new AsyncMessageSender(clientId, message);
        sender.Start();

        Response.Write("Success");
    } …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asynchronous

53
推荐指数
3
解决办法
6万
查看次数

如何将Visual Studio 2010帮助(F1)从本地更改为在线?

我第一次在Visual Studio 2010中按F1,我错误地选择使用本地帮助文件(我没有)而不是在线.

现在,每当我在VS2010中按F1时,Microsoft Help Viewer 1.1都会启动.

如何将F1行为更改为在线帮助?

注意:VS2008VS2005的工具>选项中似乎有帮助设置,但VS2010没有?

configuration options visual-studio-2010

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

有没有更好的方法在C#中将DateTime四舍五入到最接近的5秒?

我想将DateTime四舍五入到最接近的5秒.这是我目前正在做的方式,但我想知道是否有更好或更简洁的方式?

DateTime now = DateTime.Now;
int second = 0;

// round to nearest 5 second mark
if (now.Second % 5 > 2.5)
{
    // round up
    second = now.Second + (5 - (now.Second % 5));
}
else
{
    // round down
    second = now.Second - (now.Second % 5);
}

DateTime rounded = new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute, second);
Run Code Online (Sandbox Code Playgroud)

请注意,我发现 2个前面的问题,但他们截断而不是的时间.

c# algorithm performance datetime

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

如何让jQuery UI的Draggable和Sortable功能在iPhone上运行?

我有一个使用JQuery UI的页面; 特别是可排序的交互.

该页面适用于带有鼠标的桌面Web浏览器,但是我无法在iPhone上的Mobile Safari上使用拖放功能.任何拖动操作都只是滚动页面.

我页面上的功能与JQuery UI站点上的Sortable Empty-Lists演示非常相似.此页面也无法在iPhone上运行.

有没有办法让拖放功能在iPhone上运行?

javascript iphone drag-and-drop jquery-ui mobile-safari

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

您是否应该在Scrum积压中包含非开发任务?

我们无法将某些类型的任务合并到我们的产品和sprint积压工作中:

  • 与客户会面
  • 培训和知识共享
  • 行政任务

其中一些与项目没有直接关系,因此很容易将它们放在一边并将它们称为管理开销(从而减少sprint中可行的故事点).

然而,有些任务(通常是客户会议)经常发生或非常频繁.应如何处理?它们通常不直接与任何特定用户故事相关,但它们对项目至关重要.

agile project-management scrum administration task

16
推荐指数
2
解决办法
6934
查看次数

有没有办法截取用户的Windows桌面的截图?

我想在我的应用程序中为用户提供其桌面的缩小版屏幕截图.

有没有办法截取当前用户的Windows桌面?

我正在用C#编写,但如果有另一种语言的更好的解决方案,我会对它持开放态度.

为了澄清,我需要一个Windows桌面的截图 - 这只是壁纸和图标; 没有应用程序或任何有重点的东西.

c# windows desktop screenshot

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

在C#中确定未修剪字符串是否为空的最有效方法是什么?

我有一个字符串,周围可能有空格字符,我想检查它是否基本上是空的.

有很多方法可以做到这一点:

1  if (myString.Trim().Length == 0)
2  if (myString.Trim() == "")
3  if (myString.Trim().Equals(""))
4  if (myString.Trim() == String.Empty)
5  if (myString.Trim().Equals(String.Empty))
Run Code Online (Sandbox Code Playgroud)

我知道这通常是过早优化的明显案例,但我很好奇,并且有可能做到这一点足以产生性能影响.

那么哪一个是最有效的方法呢?

有没有更好的方法我没想过?


编辑:此问题的访问者注意事项:

  1. 对这个问题进行了一些非常详细的调查 - 特别是来自Andy和Jon Skeet.

  2. 如果你在搜索某些内容时偶然发现了这个问题,那么至少阅读Andy和Jon的帖子是非常值得的.

似乎有一些非常有效的方法,有效的方法取决于我需要处理的字符串的内容.

如果我无法预测字符串(在我的情况下我不能预测),Jon的IsEmptyOrWhiteSpace方法似乎通常更快.

谢谢大家的意见.我将选择安迪的答案作为"正确"的答案仅仅是因为他应该为他所付出的努力赢得声誉,而乔恩已经拥有了十亿美元的声誉.

c# string optimization performance coding-style

14
推荐指数
2
解决办法
2202
查看次数