基于我的理解,旧的SignalR存储库已经死了:一年没有提交(具有讽刺意味的是,以前致力于它的人,现在承诺Node,js),没有响应的几十个问题(我们遇到了一个bug并且有过降级到两年前的版本.
有一个SignalR-Server存储库,它是ASP.NET的一部分.它本应与ASP.NET 5(2016年第一季度)一起发布,但根据路线图,它将在稍后发布(2016年第3季度).所以我想这是实际SignalR开发正在进行的存储库.但适当的客户端存储库为空.那么我应该使用旧存储库中的客户端和新存储库中的服务器吗?这非常令人困惑.
我可以在执行任务操作期间获取CancellationToken传递给Task构造函数的内容.大多数样本看起来像这样:
CancellationTokenSource cts = new CancellationTokenSource();
CancellationToken token = cts.Token;
Task myTask = Task.Factory.StartNew(() =>
{
for (...)
{
token.ThrowIfCancellationRequested();
// Body of for loop.
}
}, token);
Run Code Online (Sandbox Code Playgroud)
但是如果我的行为不是lambda而是放在其他类中的方法并且我没有直接访问权限token呢?唯一的方法是通过token国家?
组织单元测试有三种方法:按夹具,类或特征测试.但TestClass的NUnit属性称为TestFixture.这有什么历史原因吗?
我想实现我的Entity Framework驱动的存储库的集成测试.问题是如何在测试完成后回滚数据库状态.目前我正计划在测试SetUp上启动事务并在测试TearDown时将其回滚.除手动数据库清除外,还有其他解决方案吗?
解决方案构建期间VS(msbuild?)遵循哪些规则?在哪些情况下,它会将间接引用的asemblies复制到输出文件夹,而不是?
我的项目有以下步骤:
有没有办法让TeamCity并行执行2-5步?我可以使用几个构建代理吗?
我们假设我有一些用户控制权.用户控件有一些子窗口.并且用户控制用户想要关闭某种类型的子窗口.用户控制代码中有一种方法:
public void CloseChildWindows(ChildWindowType type)
{
...
}
Run Code Online (Sandbox Code Playgroud)
但我无法调用此方法,因为我无法直接访问该视图.
我想到的另一个解决方案是以某种方式将用户控件ViewModel作为其属性之一公开(因此我可以绑定它并直接向ViewModel发出命令).但我不希望用户控制用户知道有关用户控件ViewModel的任何信息.
那么解决这个问题的正确方法是什么?
我尝试使用GreaterThen验证器,看起来它不支持客户端验证.是否有支持客户端验证的FluentValidation验证器列表?
我有一个非常简单的可滚动日历UI:

但在滚动期间,日历会不时闪烁.我看过WPF Performance Suite,发现有大量的Dirty Rects(大约400个):

日历的标记是ItemsControl,它绑定Days(仅限可见天数).看起来像WPF一天一天地重绘(所以这就是为什么这么简单的用户界面有这么多脏的原因).我想可能有一种方法可以告诉WPF不要重绘许多小矩形但是一次重绘整个ItemsControl(类似于Double Buffering在WinForms的所有好日子里所做的).
PS WritableBitmap解决了这个问题,但我希望有一个更好的方法
更新.如果我切换"显示脏区更新覆盖"选项,则以下是Calendar的外观:

所以WPF正确地找到了脏区域.问题是为什么它决定使用这么多脏的重新绘制它.我的猜测是因为天数(白色的一个或两个像素)之间的空间在滚动期间是相同的.
更新2.
这是日历的标记:
<ItemsControl Panel.ZIndex="1" Grid.Column="1"
ItemsSource="{Binding Days}"
VerticalAlignment="Center"
HorizontalAlignment="Stretch">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border Margin="1,0,1,0" Padding="0,0,3,0"
CornerRadius="1" Width="28" Height="28"
VerticalAlignment="Top">
<Border.Background>
<MultiBinding Converter="{StaticResource DayOfWeekToColorConverter}">
<Binding Path="IsWeekend"/>
</MultiBinding>
</Border.Background>
<StackPanel>
<TextBlock Style="{StaticResource TextStyle}"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
<Label Style="{StaticResource LabelStyle}"
Content="{Binding Date.Day}"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</StackPanel>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Run Code Online (Sandbox Code Playgroud) 我需要一个星期模式的日历,它将占用它可以采取的所有宽度,并采取它没有滚动条所需的所有高度.
如果我保留默认设置height: auto, aspectRation: 1.35,我会看到一个垂直滚动条:

如果我更改aspectRatio为1,滚动条消失但我在底部看到一个无用的空白区域:

有没有办法解决它除了猜测aspectRatio(这不是我的情况,因为minTime和maxTime动态改变,所以conent高度改变)?