小编ada*_*ord的帖子

将Deferred数组传递给$ .when()

这是一个人为的例子:http://jsfiddle.net/adamjford/YNGcm/20/

HTML:

<a href="#">Click me!</a>
<div></div>
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

function getSomeDeferredStuff() {
    var deferreds = [];

    var i = 1;
    for (i = 1; i <= 10; i++) {
        var count = i;

        deferreds.push(
        $.post('/echo/html/', {
            html: "<p>Task #" + count + " complete.",
            delay: count
        }).success(function(data) {
            $("div").append(data);
        }));
    }

    return deferreds;
}

$(function() {
    $("a").click(function() {
        var deferreds = getSomeDeferredStuff();

        $.when(deferreds).done(function() {
            $("div").append("<p>All done!</p>");
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

我想要"全部完成!" 在所有延迟任务完成后$.when()出现,但似乎不知道如何处理Deferred对象数组."全部完成!" 首先发生的是因为数组不是Deferred对象,所以jQuery继续并假设它刚刚完成.

我知道可以将对象传递给函数,$.when(deferred1, deferred2, ..., deferredX) …

javascript jquery argument-passing jquery-deferred .when

439
推荐指数
6
解决办法
11万
查看次数

如何在SQL Server 2008 Management Studio中查看text或varchar(MAX)列的完整内容?

在这个实时SQL Server 2008(build 10.0.1600)数据库中,有一个Events表,其中包含一个text名为的列Details.(是的,我意识到这实际上应该是一个varchar(MAX)专栏,但无论是谁设置这个数据库都没有这样做.)

此列包含非常大的异常日志和我尝试通过SQL Server Management Studio访问的关联JSON数据,但每当我将结果从网格复制到文本编辑器时,它会以43679个字符截断它.

我已经阅读了Internet上的各种位置,您可以将XML数据检索的最大字符数设置Tools > Options > Query Results > SQL Server > Results To Grid为无限制,然后执行如下查询:

select Convert(xml, Details) from Events
where EventID = 13920
Run Code Online (Sandbox Code Playgroud)

(请注意,数据列根本不是XML.CONVERT将列添加到XML只是我从谷歌搜索中找到的一种解决方法,其他人习惯于绕过SSMS从一个text或一varchar(MAX)列中检索数据的限制.)

但是,在设置上面的选项,运行查询,然后单击结果中的链接后,我仍然会收到以下错误:

无法显示XML.发生以下错误:发生了意外的文件结束.第5行,位置220160.

一种解决方案是增加从服务器检索的用于XML数据的字符数.要更改此设置,请在"工具"菜单上单击"选项".

那么,关于如何访问这些数据的任何想法?将列转换为varchar(MAX)修复我的困境?

sql-server ssms sql-server-2008

84
推荐指数
5
解决办法
10万
查看次数

在Mechanize请求之间维护cookie

我正在尝试使用Ruby版本的Mechanize从我们正在离开的票证管理系统中提取我的雇主的票据,而不提供API.

问题是,似乎Mechanize没有在post通话和get下面显示的呼叫之间保留cookie :

require 'rubygems'
require 'nokogiri'
require 'mechanize'

@agent = Mechanize.new

page = @agent.post('http://<url>.com/user_session', {
                                            'authenticity_token' => '<token>',
                                            'user_session[login]' => '<login>',
                                            'user_session[password]' => '<password>',
                                            'user_session[remember_me]' => '0',
                                            'commit' => 'Login'
})

page = @agent.get 'http://<url>.com/<organization>/<repo-name>/tickets/1'
puts page.title
Run Code Online (Sandbox Code Playgroud)

user_session是网站登录页面POST的URL,我已经确认这确实get会让我登录.但是从通话中返回的页面是'哎呀,你还没有登录!' 页.

我已经验证了clickpost调用返回的页面上的链接是否正常工作,但实际上我无法在没有JavaScript的情况下到达我需要的位置.当然,我已经在浏览器上使用相同的登录成功完成了此操作.

我究竟做错了什么?

ruby screen-scraping mechanize

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

来自Ruby on Rails App的FTPS(TLS/SSL)

我有一个FTP服务器,它只通过运行FTPS(显式FTP over TLS)接受连接.我需要能够使用Ruby on Rails应用程序连接到此.

有人知道这样做的方法吗?我已经尝试过该Net::FTP库,但这似乎不支持FTPS连接.

ruby ruby-on-rails

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

如何自定义git rebase --interactive commit messages的格式?

我使用git进行本地工作(并且非常喜欢它),我遵循类似于本文所述的工作流程.所以基本上,当开始一个新功能时,我为它创建一个分支,经历通常的hack然后提交循环,当我认为我已经完成它时,我将它压缩到单个提交中git rebase --interactive master,并且我总是结束将大量的提交消息编辑成类似文章中的示例,在此处转载:

[#3275] User Can Add A Comment To a Post

* Adding Comment model, migrations, spec
* Adding Comment controller, helper, spec
* Adding Comment relationship with Post
* Comment belongs to a User
* Comment form on Post show page
Run Code Online (Sandbox Code Playgroud)

当然,这是在每个提交消息前面的一堆删除# This is the xth commit message行和复制/粘贴*之后.

现在,我想知道,有没有办法定制git rebase -i如何输出压缩的提交消息,所以我不必做所有的黑客攻击?

(我使用msysgit,如果这很重要.我的编辑器是Notepad ++.)

谢谢!

git msysgit

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

MVC Mini Profiler包括不尊重应用程序的路径

我已经按照项目页面上的描述设置了MVC Mini Profiler ,并且确实正在页面上编写包含.

问题是,我的应用程序位于http://localhost:8080/web,并且分析器编写的标记包括如下所示:

<link rel="stylesheet/less" type="text/css" href="/mini-profiler-includes.less?v=2.0.4177.17902">
<script type="text/javascript" src="/mini-profiler-includes.js?v=2.0.4177.17902"></script>
<script type="text/javascript"> jQuery(function() { MiniProfiler.init({ id:'fb4dc30e-c1aa-4be6-902c-ef2812dd1fe2', renderDirection:'left' }); } ); </script>
Run Code Online (Sandbox Code Playgroud)

这些当然都会给出404错误,但是如果我导航到/web/mini-profiler-includes.less?它,它会很好地加载.

可以在此处找到创建该字符串的源:

// MiniProfilerHandler.cs
/// <summary>
/// Understands how to route and respond to MiniProfiler UI urls.
/// </summary>

public class MiniProfilerHandler : IRouteHandler, IHttpHandler
{
    internal static HtmlString RenderIncludes(MiniProfiler profiler, RenderPosition? position = null, bool showTrivial = false, bool showTimeWithChildren = false)
    {
        const string format =
            @"<link …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc .net-4.0 mvc-mini-profiler

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

StructureMap:我如何单元测试注册表类?

我有一个这样的注册表类:

public class StructureMapRegistry : Registry
{
    public StructureMapRegistry()
    {
        For<IDateTimeProvider>().Singleton().Use<DateTimeProviderReturningDateTimeNow>();
    }
Run Code Online (Sandbox Code Playgroud)

我想根据我的意图测试配置,所以我开始编写测试:

public class WhenConfiguringIOCContainer : Scenario
{
    private TfsTimeMachine.Domain.StructureMapRegistry registry;
    private Container container;

    protected override void Given()
    {
        registry = new TfsTimeMachine.Domain.StructureMapRegistry();
        container = new Container();
    }

    protected override void When()
    {
        container.Configure(i => i.AddRegistry(registry));
    }

    [Then]
    public void DateTimeProviderIsRegisteredAsSingleton()
    {
        // I want to say "verify that the container contains the expected type and that the expected type
        // is registered as a singleton
    }
}
Run Code Online (Sandbox Code Playgroud)

如何验证注册表是否符合我的期望?注意:我介绍了容器,因为我没有在Registry类上看到任何可用的验证方法.理想情况下,我想直接在注册表类上进行测试.

.net c# structuremap

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

如何编写仅包含某些文件夹和文件夹本身的Albacore zip任务?

我正在尝试使用Albacore的ZipTask压缩rake构建的工件.我正在构建的解决方案有三个项目,这些项目需要单独压缩工件,但这里只提到ASP.NET MVC项目.这是解决方案的目录结构:

rakefile.rb
solution.sln
src/
    (other projects that are not relevant)
    website/
        (various folders I don't want included in the artifacts)
        bin/
        Content/
        Scripts/
        Views/
        Default.aspx
        Global.asax
        web.config
Run Code Online (Sandbox Code Playgroud)

起初我写了这个任务:

website_directory = File.join '.', 'src', 'website'
website_project_name = 'website'

zip :zip => [ :run_unit_tests, :less ] do |zip|
  zip.directories_to_zip = [ 'bin', 'Content', 'Scripts', 'Views' ].map{ |folder| File.join website_directory, folder }
  zip.additional_files = [ 'Default.aspx', 'favicon.ico', 'Global.asax', 'web.config'].map{ |file| File.join website_directory, file }
  zip.output_file = get_output_file_name
  zip.output_path …
Run Code Online (Sandbox Code Playgroud)

ruby rake albacore

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

当我从解决方案运行所有测试时,如何阻止Resharper运行我的规范项目?

我有各种其他项目的单元测试项目,我有一个Web应用程序的规范项目,它通过NUnit运行Selenium 2代码.这比其他测试需要更长的运行时间.

我只希望在运行构建脚本时运行这些规范测试,并且当我显式运行项目的测试时,而不是当我使用Resharper从Solution运行所有测试时.

当我从解决方案运行所有测试时,有没有办法设置Resharper或NUnit来忽略测试项目?

谢谢!

resharper nunit visual-studio-2010 resharper-5.1

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

计算DateTimes集合之间的平均TimeSpan

假设我们正在跟踪用户执行某项操作的时间,并且我们想知道所述操作之间的平均时间.

例如,如果用户在以下时间执行此操作:

  • 今天下午1点
  • 今天下午3点
  • 今天下午6点

结果将是2.5小时.

我实际上已经解决了这个问题,但我觉得我的解决方案比必要的更复杂.我会发布它作为答案.

c# linq .net-4.0

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