小编Ale*_*ill的帖子

每个可观察运营商的默认调度程序是什么?

MSDN上的这个页面说明了这一点

如果不使用以调度程序作为参数的重载,Rx将使用最小并发原则选择默认调度程序.这意味着选择引入满足运算符需求的最少并发性的调度程序.例如,对于返回具有有限和少量消息的observable的运算符,Rx调用Immediate.对于返回潜在大量或无限数量消息的运算符,将调用CurrentThread.对于使用计时器的操作员,使用ThreadPool.

我想实际上有一个参考表,可观察的操作员使用哪个默认的Scheduler,但我找不到任何地方.每个可观察运营商的默认调度程序是什么?

c# system.reactive

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

AutoFixture - 配置夹具以限制字符串生成长度

对某些类型使用自动混合构建方法时,如何限制生成的字符串的长度以填充对象字符串属性/字段?

c# autofixture

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

将ngTrueValue和ngFalseValue设置为数字

更新:对于最新的Angular版本,问题已经过时,请参阅tsh对此帖子的评论


我已将一个复选框绑定到一个值:

<input type="checkbox" ng-model="checkbox" ng-true-value="1" ng-false-value="0" />
Run Code Online (Sandbox Code Playgroud)

控制器中复选框的值设置为1:

function Controller($scope) {
    $scope.checkbox = 1
}
Run Code Online (Sandbox Code Playgroud)

但是,最初复选框似乎未选中.如果我将$scope.checkboxto 的初始值更改为"1",则确实如此.(jsfiddle演示)

我尝试了各种变化:

ng-true-value="{{1}}"
ng-true-value="{{Number(1)}}"
ng-true-value="{{parseInt('1')}}"
Run Code Online (Sandbox Code Playgroud)

他们都没有工作.如何将参数作为数字进行角度处理?

checkbox angularjs angular-ngmodel

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

将WCF与抽象类一起使用

如何在WCF中为抽象类定义DataContract?

我有一个类"人",我使用WCF成功通信.现在我添加一个从Person引用的新类"Foo".一切都还不错.但是当我将Foo抽象化并定义一个子类时,它就失败了.它在服务器端使用CommunicationException失败,但这并没有真正告诉我太多.

我的简化课程用于测试:

[DataContract]
public class Person
{
    public Person()
    {
        SomeFoo = new Bar { Id = 7, BaseText = "base", SubText = "sub" };
    }

    [DataMember]
    public int Id { get; set; }

    [DataMember]
    public Foo SomeFoo { get; set; }
}

[DataContract]
public abstract class Foo
{
    [DataMember]
    public int Id { get; set; }

    [DataMember]
    public string BaseText { get; set; }
}

[DataContract]
public class Bar : Foo
{
    [DataMember]
    public string SubText { get; …
Run Code Online (Sandbox Code Playgroud)

.net wcf abstract-class datacontract

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

注册"半封闭"通用组件

我有两个接口:

public interface IQuery<TResult> { }

public interface IQueryHandler<in TQuery, out TResult>
    where TQuery : IQuery<TResult>
{
    TResult Handle(TQuery q);
}
Run Code Online (Sandbox Code Playgroud)

IQueryHandler的已关闭实现的示例:

public class EventBookingsHandler : IQueryHandler<EventBookings, IEnumerable<EventBooking>>
{
    private readonly DbContext _context;

    public EventBookingsHandler(DbContext context)
    {
        _context = context;
    }

    public IEnumerable<EventBooking> Handle(EventBookings q)
    {
        return _context.Set<MemberEvent>()
            .OfEvent(q.EventId)
            .AsEnumerable()
            .Select(EventBooking.FromMemberEvent);
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以IQueryHandler<,>使用此组件注册注册并解决已关闭的通用实现:

Classes.FromAssemblyContaining(typeof(IQueryHandler<,>))
    .BasedOn(typeof(IQueryHandler<,>))
    .WithServiceAllInterfaces()
Run Code Online (Sandbox Code Playgroud)

但是,我想要做的是解决一个"半封闭"的开放泛型实现(即指定泛型TQuery类型参数):

public class GetById<TEntity> : IQuery<TEntity> where TEntity : class, IIdentity
{
    public int Id { get; private set; …
Run Code Online (Sandbox Code Playgroud)

c# generics castle-windsor ioc-container

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

是否可以在没有数据库连接的情况下检索MetadataWorkspace?

我正在编写一个测试库,需要遍历MetadataWorkspace给定DbContext类型的Entity Framework .但是,由于这是一个测试库,我宁愿不与数据库建立连接 - 它引入了测试环境可能无法提供的依赖关系.

当我试图获得类似的引用时MetadataWorkspace:

var metadata = ((IObjectContextAdapter)context).ObjectContext.MetadataWorkspace;
Run Code Online (Sandbox Code Playgroud)

我得到一个SqlException:

System.Data.dll中出现"System.Data.SqlClient.SqlException"类型的异常,但未在用户代码中处理

附加信息:建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错)

没有连接字符串可以做我想做的事吗?

c# entity-framework

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

遇到断点时执行代码?

在立即窗口中,我可以执行一行代码.我还可以在特定点设置断点,以便在命中断点时程序停止,我可以在立即窗口中运行我的代码行.有没有办法(包括扩展名)自动执行此操作?

c# visual-studio-2012

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

"合并"流的流以产生每个流的最新值

我有一个IObservable<IObservable<T>>地方,每个内部IObservable<T>是一个价值流​​,然后是最终的OnCompleted事件.

我想将其转换为IObservable<IEnumerable<T>>一个流,该流由来自任何未完成的内部流的最新值组成.IEnumerable<T>每当从一个内部流(或内部流到期)产生新值时,它应该产生一个新的

最容易用大理石图表显示(我希望它足够全面):

input ---.----.---.----------------
         |    |   '-f-----g-|      
         |    'd------e---------|
         'a--b----c-----|          

result ---a--b-b--c-c-c-e-e-e---[]-
               d  d d e f g        
                    f f            
Run Code Online (Sandbox Code Playgroud)

([]是空的IEnumerable<T>-|代表OnCompleted)

您可以看到它略微类似于CombineLatest操作.我一直在玩弄JoinGroupJoin无济于事,但我觉得这是几乎可以肯定的是标题正确的方向.

我想在这个运算符中使用尽可能少的状态.

更新

我已经更新了这个问题,不仅包括单值序列 - 结果IObservable<IEnumerable<T>>应该只包括每个序列的最新值 - 如果序列没有产生值,则不应该包括它.

c# system.reactive

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

在xUnit中运行程序集加载代码

我使用Effort库作为模拟数据库,它有一些必须在程序集加载时运行的初始化代码.

我尝试在静态构造函数中添加此初始化代码,该构造函数通过基类构造函数从每个测试引用,但这不符合库的要求.

这里对类似问题的回答提到了一个AssemblyInitialize属性,但这不适用于xUnit - xUnit无法在程序集加载时运行代码.

我还在xUnit GitHub页面上询问过- 确实没有汇编级初始化程序.

如何在xUnit中运行我需要的初始化代码?

c# xunit xunit.net

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

在Visual Studio 2012中快速切换启动项目

在我的应用程序中,我经常需要将启动项目从UI shell更改为测试,反之亦然.

我知道通过使用解决方案资源管理器中的上下文菜单,我可以右键单击并选择一个项目作为启动项目.但是,我的解决方案中有许多项目,这非常耗时.

在VS 2010中我有宏来做这个,但现在它们已被删除.

问题是:在VS2012中是否有更快的方式来切换启动项目而不是找到它们并使用右键菜单?我会接受任何答案(扩展,脚本等)

projects-and-solutions visual-studio-2012

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