我有 .dacpac 项目Script.PostDeployment.sql:
:r .\SiteType.sql
:r .\Enums.sql
:r .\DebugData.sql
Run Code Online (Sandbox Code Playgroud)
我想DebugData.sql有条件地包含,仅当我DEBUG在 Visual Studio 中选择配置文件进行发布时才包含,因此在发布生产时我不会包含此数据。
有什么办法可以实现吗?
我通过C#阅读了Jeffrey Richter - CLR,并决定制作一些测试应用程序.我需要一些帮助来了解究竟发生了什么以及为什么.是的,我知道,公共财产是个坏主意,但我的问题不是代码风格.所以:
class ClassA
{
public static int val1;
static ClassA
{
val1 = 10;
}
}
class ClassB : ClassA
{
public static int val2;
static ClassB
{
val1 = 15;
}
}
Run Code Online (Sandbox Code Playgroud)
现在我们按顺序调用输出到控制台:
Console.WriteLine(ClassB.val1);
Console.WriteLine(ClassB.val2);
Console.WriteLine(ClassB.val1);
Run Code Online (Sandbox Code Playgroud)
输出是:
10
0
15
Run Code Online (Sandbox Code Playgroud)
所以,据我所知,编译器会static ctor在第一次使用该类型的静态成员时进行调用.在使用之前.那么,为什么它叫static ctor的ClassB在第一行不?这都是因为静态成员没有继承,所以它只是在第一行调用基类型?解释一下.谢谢.
我有:
internal void Start(CancellationToken token)
{
while (!token.IsCancellationRequested)
{
//do work
token.WaitHandle.WaitOne(TimeSpan.FromSeconds(67));
}
}
Run Code Online (Sandbox Code Playgroud)
所以我在new中启动这个方法Task并在循环中做一些工作,直到我需要取消它token
有时我需要强制新的循环迭代,而不是等待这67秒.我想我需要这样的东西:
public ManualResetEvent ForceLoopIteration { get; set; }
Run Code Online (Sandbox Code Playgroud)
同时我无法理解如何使用令牌.也许是这样的WaitHandle.WaitAny()?
如果我们需要发送失败/成功结果,Wcf服务的最佳实践是什么?
例如:我们有Wcf服务,我们有一些服务BussinesLogic.我们的服务有一个运营合同:
[OperationContract]
/*SomeResult*/ SendImages(Bitmap[] images);
可能的情况:
BussinesLogic处于"糟糕"状态.逻辑处于错误状态,我们不知道什么时候可以再次工作.我该定制fault吗?在哪?我应该使用通用fault吗?我应该做enum OperationResult?或者maby,如果成功,任何结果都像是矫枉过正?可能的情景数量将保持不变.
我得到Collection的Bitmap对象.需要创建多个Tasks,将其Collection作为参数传递.在任务方法中,我将读取每个的高度/宽度Bitmap,然后将此Collection和高度/宽度数组发送到Wcf服务.
那么线程安全操作吗?在这种情况下我该怎么做?
我有一些int32值.我需要获得更高位的位置,用于表示当前值.
例如:
int value = 155;
Run Code Online (Sandbox Code Playgroud)
在二进制形式中,它将是10011011
如此高位使用位置8.
是否有任何默认或常用方法?
我尝试ItemsControl使用不同的模板制作我的显示项目,具体取决于其viewModel类型.初看起来我认为它可以像我们通常那样做ContentControl:
<ItemsControl ItemsSource="{Binding MyViewModelCollection}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type myNameSpace:myViewModel1}">
<myNameSpace:myControl2/>
</DataTemplate>
<DataTemplate DataType="{x:Type myNameSpace:myViewModel2}">
<myNameSpace:myControl2/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Run Code Online (Sandbox Code Playgroud)
但不幸的是,你不能有两个DataTemplate在ItemsControl.ItemTemplate.我发现了一个小技巧.
我知道我可以改变颜色Tools -> Options -> Environment -> Fonts and Colors -> ....但是我找不到改变那条线颜色的选项.它是出现断点红色标记的地方.我想让它像我的计划的其他部分一样变灰.
我有Range带列的表
Start (date), RangeTypeId (integer), ChannelId (integer), IsActive (bit)
Run Code Online (Sandbox Code Playgroud)
我有这个索引:
CREATE UNIQUE NONCLUSTERED INDEX [IX_Range_Unique]
ON [dbo].[Range] ([Start] ASC, [RangeTypeId] ASC, [ChannelId] ASC, [IsActive] ASC)
Run Code Online (Sandbox Code Playgroud)
我希望我的索引仅在 2 行带有IsActive = 1. 所以,我想指数或某种触发,将允许有多个的Ranges与IsActive = 0和相同的开始日期,频道标识和类型,但只有一个IsActive = 1和相同的开始日期,频道标识和类型。
有效的数据库表状态示例:
Start | RangeTypeId | ChannelId | IsActive
------------------------------------------
23:00 5 1 0
23:00 5 1 0
23:00 5 1 0
23:00 5 1 1
Run Code Online (Sandbox Code Playgroud)
无效的:
Start | RangeTypeId | ChannelId | IsActive
------------------------------------------
23:00 …Run Code Online (Sandbox Code Playgroud) c# ×6
.net ×5
sql-server ×2
task ×2
color-scheme ×1
constructor ×1
dacpac ×1
ide ×1
indexing ×1
inheritance ×1
mvvm ×1
publish ×1
static ×1
wcf ×1
wpf ×1
xaml ×1