小编Jam*_*mez的帖子

vstest.executionengine.x86.exe没有关闭

我在运行单元测试时遇到错误.如果我调试单元测试vstest.executionengine.x86.exe运行,则在测试通过时关闭.

如果我只是运行测试(即使测试就像创建一个新列表一样简单,没有断言)vstest.executionengine.x86.exe不会关闭并保持在任务管理器中运行.

在编写更复杂的测试(包括删除文件/清理sqllite数据库)时,这对我来说是一个问题.

任何帮助,将不胜感激.

编辑:

重现步骤 :

  • 创建新的单元测试项目
  • 调试单元测试 - vstest.executionengine.x86打开和关闭,测试通过.
  • 运行单元测试 - vstest.executionengine.x86打开并保持打开状态

testing unit-testing visual-studio-2012

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

直接向Subscription发送消息

是否可以直接向订阅队列发送消息?

场景:

消息失败,丢失到deadletter,消息已经使用defer手动获取,克隆并需要发送到它首先被破坏的队列,但不是主题.

我可以直接向订阅者发送消息吗?

我考虑过为每个订阅者创建一个单独的重试队列,其中处理服务也将接收来自但我不想这样做的消息.

servicebus azure azureservicebus

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

测试FluentValidation PropertyValidator

是否可以单独测试FluentValidation PropertyValidator

我知道我可以测试使用PropertyValidator特定错误的Validator,但是如果可能的话,我宁愿在属性验证器上测试true/false.

可以这样做吗?如果是这样,怎么样?

c# validation fluentvalidation

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

改变结果

我的同事问我是否给出了订单线示例,可以初始化一个看起来像这样的viewmodel:

OrderViewModel
   string OrderId
   string CustomerName
   List<OrderLineViewModel> OrderLines

OrderLineViewModel
   string ProductName
   string ROI
   int Quantity
Run Code Online (Sandbox Code Playgroud)

从索引?

我已尝试进行成功加载客户名称的转换,但无法从订单行获取相关的产品信息.这可以通过转换完成,还是需要从索引字段进行投影?

干杯,

詹姆士

编辑:

我们正在尝试直接从查询中填充视图模型.我们尝试了以下索引:

public class OrdersViewIndex : AbstractIndexCreationTask<Order>
{
   Map = orders => from order in orders
                   select new {
                                OrderId = order.id
                              };

   Transform = (database, orders) => from order in orders
                                     let customer = database.Load<Customer>(order.customerId)
                                     select new {
                                                  OrderId = order.id,
                                                  CustomerName = customer.Name,
                                                  OrderLines = // This is where I struggled to answer my colleagues questions as …
Run Code Online (Sandbox Code Playgroud)

indexing ravendb

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

RavenDb静态索引:查询子集合对象

我有一个类似如下的文档结构:

Employer => Positions => RequiredSkills

雇主有一个职位
定位集合有一个RequiredSkill集合.
所需技能包括技能(字符串)和熟练程度(枚举).

如果我使用动态索引,它似乎返回公司,但我想使用索引来填充MVC视图模型以返回到UI.

我是Raven的新手,所以我为做任何愚蠢/不必要的事而道歉!

我有以下映射:

public class PositionSearch : AbstractIndexCreationTask<Employer>
    {
        public PositionSearch()
        {
            Map = employers =>
                  from employer in employers
                  from position in employer.Positions
                  select new
                      {
                          EmployerId = employer.Id,
                          EmployerName = employer.Name,
                          PositionId = position.Id,
                          PositionTitle = position.Title,
                          position.Location,
                          position.Description,
                          RequiredSkills = position.RequiredSkills
                      };

            StoreAllFields(FieldStorage.Yes);

            Index("RequiredSkills_Skill", FieldIndexing.Analyzed);
        }
    }
Run Code Online (Sandbox Code Playgroud)

但是当我尝试执行以下查询时:

var results = session.Query<PositionSearchResultModel, PositionSearch>()
    .Customize(x => x.WaitForNonStaleResults())
    .Where(x=>x.RequiredSkills.Any(y=>y.Skill == "SkillName"))
    .ProjectFromIndexFieldsInto<PositionSearchResultModel>()
    .ToList();
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

System.ArgumentException:
    The field 'RequiredSkills_Skill' is not …
Run Code Online (Sandbox Code Playgroud)

indexing ravendb

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

Azure 服务总线订阅者死信

我到处寻找这方面的信息,但似乎找不到我要找的东西。

我有一个天蓝色的主题,一个订阅。

订阅的处理程序失败了一些消息,它们已被放入死信队列。

我可以访问这些消息,但我不知道如何恢复它们。

我不想创建消息的副本并将其发送到主题。我特别想把它移到它来自的订阅队列中。

有没有办法做到这一点?

servicebus azure azureservicebus azure-servicebus-queues

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

NHibernate Cascade在清除集合时删除子项

我搜索了很多地方,仍然无法找到我正在寻找的答案.

我正在使用NHibernate 3.2 - 按代码映射

我有以下映射文件:

public class ParentMapping: EntityMapping<Parent>
{
        public ParentMapping()
        {
            Set(x => x.Children, map =>
                                           {
                                               map.Cascade(Cascade.All);
                                               map.Inverse(true);
                                           }, r => r.OneToMany());
        }
}

public class ChildMapping: JoinedSubclassMapping<Child> // This is a subclass of something else.
{
        public RequiredSkillMapping()
        {
            ManyToOne(x => x.Parent, map => { map.NotNullable(true); });
        }
}
Run Code Online (Sandbox Code Playgroud)

级联保存工作正常.

session.Save(parent) will save the children and associate them correctly.
Run Code Online (Sandbox Code Playgroud)

当我试着打电话时:

var parent = session.Get<Parent>(1);
parent.Children.Clear();

session.Save(parent); or session.SaveOrUpdate(parent) or session.Update(parent)
Run Code Online (Sandbox Code Playgroud)

实体保持与父母相关联.

我通过调用它来工作:

foreach(var child in …
Run Code Online (Sandbox Code Playgroud)

nhibernate cascade nhibernate-mapping nhibernate-cascade

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

Parallel.Foreach - NULL 任务

我正在尝试学习如何使用 TPL。我已经对这个主题进行了大量阅读,但我不明白为什么以下代码示例会中断,而之后的代码示例会中断?

我有一个单元测试正在运行以计算写入的记录,并读取输出的文件以进行仔细检查。

失败:

var tasks = new List<Task>();

Parallel.ForEach(File.ReadLines(featuresLocation), s =>
            {
                var feature = CreateFeature(s);
                if (feature.HasValue)
                {
                    tasks.Add(Task.Factory.StartNew(() =>
                        {
                            lock (_locker)
                            {
                                featuresWriter.WriteLine(feature.Value);
                                RecordsWrote++;
                            }
                        }));
                }
            });

        Task.WaitAll(tasks.ToArray()); // Breaks
Run Code Online (Sandbox Code Playgroud)

在职的:

var tasks = new List<Task>();

Parallel.ForEach(File.ReadLines(featuresLocation), s =>
            {
                var feature = CreateFeature(s);
                if (feature.HasValue)
                {
                    tasks.Add(Task.Factory.StartNew(() =>
                        {
                            lock (_locker)
                            {
                                featuresWriter.WriteLine(feature.Value);
                                RecordsWrote++;
                            }
                        }));
                }
            });

        Task.WaitAll(tasks.Where(x => x != null).ToArray()); // Works
Run Code Online (Sandbox Code Playgroud)

c# task task-parallel-library parallel.foreach

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

CamelCase在Powershell/Templates中的一个词

我到处寻找,我似乎无法找到答案,也许是因为我不知道该怎么搜索.

我使用了Get-PluralizedWord函数.

是否有类似的方法将像MyClass这样的给定单词转换为powershell/T4Templates中的myClass?

干杯,

詹姆士

powershell asp.net-mvc-scaffolding

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

RavenDb查询简单的地图变换索引

我一直在努力解决这个问题.

我有一个客户端对象(clients/513),如下所示:

{  
  "Risks": [
    {
      "Id": "421eacf0-14e9-4004-ab0b-95d20e976aac",
      "RiskFactor": "ElectricalEquipment",
      "Description": "Should be allowed to play with electronics."
    },
    {
      "Id": "4bbecbe2-acfc-45c3-b87a-3321e1eca95a",
      "RiskFactor": "ViolenceToStaffVerbal",
      "Description": "Tourettes"
    }
}
Run Code Online (Sandbox Code Playgroud)

我创建了一个包含以下代码的索引:

地图

from c in docs.Clients
from r in c.Risks
select new { ClientId = c.Id, RiskId = r.Id }
Run Code Online (Sandbox Code Playgroud)

转变

from c in results
from r in c.Risks
select new { ClientId = c.Id, RiskId = r.Id }
Run Code Online (Sandbox Code Playgroud)

认为我理解MAP只是定义了您希望能够搜索的属性.并且TRANSFORM以特定形状返回实际数据.

我想要返回ClientId,RiskId以及其他一些与风险相关的属性,这样我才能做到.As<ViewModel>(),但是当我执行查询时,我似乎得到了一些不一致的结果.(它喜欢改变它返回的结果数量,具体取决于我执行查询的次数,有时是4次,有时是5次).

另外:RiskId过滤似乎返回一个,有时返回多个Risk,id不是指定的Id.

任何帮助将非常感激.

ravendb

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