在Intellij或Eclipse中,当我开始输入一个尚未导入的类时,我会得到建议.例如,如果我输入'Lis',我很可能会得到一些关于我的类路径中的各种List类的建议.如果我不知道如何正确拼写课程或者不知道我到底是什么,我可以通过打字快速解决.在VS 2012中,即使使用Resharper,我也无法重现这种行为.它确实有所作为,VS中不可能吗?
我重新编写了“事件存储入门”项目,以了解正在发生的事情,现在在测试中,CanSaveExistingAggregate()我收到了WrongExpectedVersionException。问题是,为了尝试弄清楚正在发生的事情,我想知道预期的版本应该是什么,如何找到呢?在测试中,该行将repository.Save(firstSaved, Guid.NewGuid(), d => { });预期的版本计算为101,这是失败的地方:
[Test]
public void CanSaveExistingAggregate()
{
var savedId = SaveTestAggregateWithoutCustomHeaders(repository, 100 /* excludes TestAggregateCreated */);
var firstSaved = repository.GetById<TestAggregate>(savedId);
Console.WriteLine("version:" + firstSaved.Id);
firstSaved.ProduceEvents(50);
repository.Save(firstSaved, Guid.NewGuid(), d => { });
var secondSaved = repository.GetById<TestAggregate>(savedId);
Assert.AreEqual(150, secondSaved.AppliedEventCount);
}
Run Code Online (Sandbox Code Playgroud)
以及引发异常的代码:
public void Save(CommonDomain.IAggregate aggregate, Guid commitId, Action<IDictionary<string, object>> updateHeaders)
{
var commitHeaders = new Dictionary<string, object>
{
{CommitIdHeader, commitId},
{AggregateClrTypeHeader, aggregate.GetType().AssemblyQualifiedName}
};
updateHeaders(commitHeaders);
var streamName = aggregateIdToStreamName(aggregate.GetType(), aggregate.Id);
var newEvents = aggregate.GetUncommittedEvents().Cast<object>().ToList(); …Run Code Online (Sandbox Code Playgroud) 我们试图遵循一个非常严格的习惯用于我们的REST服务,但是我们遇到了这样一种情况:我们有两个客户需要不同的同一资源表示.一个是前端,他们更喜欢一个非常小的资源,只有他们需要的字段和更扁平的结构(为了性能),另一个需要我们在数据存储中的所有字段都是一个重度嵌套的结构.REST服务处理此问题的惯用方法是什么,因为规范URL应该与访问相同资源的URL相同.我们考虑在请求中添加投影,但是这样结构仍然会完全嵌套,导致JS客户端出现性能问题,因为它必须遍历结构并将其展平,这在资源数量上可能非常昂贵.回来很高.
我正在使用Scalatest,FlatSpec,Spring,Selenium DSL和BeforeAndAfterAll.其中一件事似乎阻止ParallelTestExecution正常工作.当我运行一个带有两个测试的类时会发生这种情况:
所以基本上测试运行与没有ParallelTestExecution完全相同,只是打开了一个额外的窗口?
有没有更好的方法来浏览clojure中的嵌套地图.例如,对于以下地图:
{
:one{
:two {
:three value
}
}
}
Run Code Online (Sandbox Code Playgroud)
为了获得:three我所做的价值,(:three (:two (:one mymap)))但是如果有我可以做的线程之类的话会更好(-> mymap :one :two :three)
我有一个NameValueCollection,我需要将其转换为Map,我无法解决它.我试过了:
let headerMap (m : MailMessage) = m.Headers |> Map.map (fun k v -> v.[k])
Run Code Online (Sandbox Code Playgroud)
我需要使用Seq.map吗?
基本上,我要将System.Net.MailMessage中的头文件序列化为JSON.
我想解析一个HTML文档,并将每个段落作为单独的条目打印到日志文件中.到目前为止,我有:
let parseTextFile (path) =
let fileText = File.ReadAllText(path)
fileText.Split('<p>') |> Seq.iter (fun m -> logEmail(m))
Run Code Online (Sandbox Code Playgroud)
但不幸的是对我来说string.Split没有做我想要的东西,似乎存在用单个字符分隔符分割字符串.如何使用多于一个字符的东西来分割文件,除了<p>之外还有更多的东西可能会很好,因为我只会在段落末尾有一个</ p>.使用正则表达式或某种复杂的匹配器,我可以更具体地选择<p>标签之间的所有内容.