自从升级到最新版本的Windows,同时使用tortoiseSVN将任何文件与其基本版本[TortoiseMerge]进行比较时,我注意到了一个巨大的延迟(只是坐在那里无所事事).
我在快车道上并且在一个月前得到了坠落创造者的更新,并注意到了这一点,所以我又回来了,它就消失了.在它点击RTM后,我认为这是固定的,但显然我错了.
我的意思非常慢?
Before fall creators update: <1 second
After: A minute or 2, as long as it takes..and that's just for comparing 1 file.
Run Code Online (Sandbox Code Playgroud)
我只是去阅读一篇文章或其他内容,等待在任务栏中弹出tortoiseMerge图标.
Repo在我的桌面上 - 客户端在我的笔记本电脑上 - 同一个网络.
有类似经历的人吗?有人找到了解决方法吗?
编辑:问题与TortoiseMerge有关,而不是TortoiseSVN或SVN本身 - 我转而使用Beyond Compare,它现在运行良好.
我试图将if语句转换为切换案例(为了便于阅读)
1)我读过开关语句一般都很糟糕 - 这是真的吗? /sf/ask/426825941/
2)声明如下:
switch (Show)
{
case Display.Expense:
if (expected.EXPENSE != true)
break;
case Display.NonExpense:
if (expected.EXPENSE == true)
break;
case Display.All:
//Code
break;
}
Run Code Online (Sandbox Code Playgroud)
错误是:
控制不能从一个案例标签('案例1:')落到另一个案例标签
这是原始的if语句:
if ((Show == Display.All) || (expected.EXPENSE == true && Show == Display.Expense) || (expected.EXPENSE == false && Show == Display.NonExpense))
{
//Code
}
Run Code Online (Sandbox Code Playgroud) 我们有一个我们正在支持的旧项目,并且最有可能由于多线程而出现问题.原始实现者通过Thread.sleep在执行有问题的部分之前执行a 来"修复"它.该解决方法有效,但由于该部分位于循环thread.sleep内,因此该部分完成所需的时间增加了几分钟.
在过去的一个月里,我们一直在试验较低的睡眠值,但我们希望找到根本原因.在我们的调查过程中,我们lock在私人物品上进行操作,无论我们觉得哪有帮助.我们寻找任何可能产生额外线程的东西 - 没有找到.没有Thread.start和ThreadPool用法.让我们感到困惑的是,在调试过程中,我们发现我们的主要线程在大约8个其他线程的中间,我们不知道是谁产生了它们.这些是后台线程,所以我首先想到的是线程池,但正如我在代码中提到的那样.
它是.net 2.0所以没有Async.这只是更大的应用程序的一部分,所以它是一个Windows服务,但我们将其作为CMD运行,以便能够轻松调试它主要的应用程序本身是一个Windows窗体桌面应用程序.如果有任何帮助,它也使用COM +组件.
我试过[STA]而不是[MTA].同样按上述方式锁定.
MemoryBarrier也是.
我们仍然遇到了这个问题.
问题基本上是损坏的数据集和它们不应该存在的对象中的空值.它发生在大约每25-100次迭代一次,因此复制不是直接的,但我们已经设计了一个专门针对这个问题的测试来尝试重现它.
所有这些都指向了线程问题的方向.
回到最初的问题 - 谁可能通过产生这些额外的线程,我们如何防止这些线程被创建?
请注意标有红色的线程 - 这些是后台线程,据我们所知,在代码中没有提到它们.
屏幕截图中的可疑线程正在主动修改其中的cols dataset.问题是 - 调用SetColValueOnRow线程正在执行的函数的方法是典型的,不使用任何类型的线程.
此应用程序的CPU关联性设置为1 Core [原始解决方案的一部分]
谢谢
编辑:数据库是oracle 12c,但我们面临的问题是在写入数据库之前发生的.它们通常发生在DataSet中,每隔几次测试迭代就可以擦除整个记录或一些列
这可能是一个愚蠢的问题,但我总是使用linq来选择项目.
但我想知道是否可以使用其关键字执行以下简单任务.
List<OrdersInfo> ordersList
.
.
.
foreach(OrdersInfo OI in ordersList)
if(OI.TYPE == "P")
OI.TYPE = "Project";
else
OI.TYPE = "Support";
Run Code Online (Sandbox Code Playgroud) 我有一个带有gridview的CollapsiblePanelExtender控件,我把它放在一个用户控件中.
我将以下脚本添加到User控件的末尾以平滑动画:
<script type="text/javascript">
function pageLoad(sender, args) {
$find(("<%= CPE.ClientID %>"))._animation._fps = 35;
$find(("<%= CPE.ClientID %>"))._animation._duration = 0.5;
}
</script>
Run Code Online (Sandbox Code Playgroud)
当我运行页面时,只有第二个手风琴被平滑,第一个是默认的缓慢.
以下是运行时脚本:
<script type="text/javascript">
function pageLoad(sender, args) {
$find(("MainContent_AccordionGV1_CPE"))._animation._fps = 35;
$find(("MainContent_AccordionGV1_CPE"))._animation._duration = 0.5;
}
</script>
Run Code Online (Sandbox Code Playgroud)
....
function pageLoad(sender, args) {
$find(("MainContent_AccordionGV2_CPE"))._animation._fps = 35;
$find(("MainContent_AccordionGV2_CPE"))._animation._duration = 0.5;
}
</script>
Run Code Online (Sandbox Code Playgroud)
所以它应该按照这个工作.知道为什么不是吗?
谢谢.
加成:
我尝试手动将其添加到页面而不是用户控件,相同的行为.
<script type="text/javascript">
function pageLoad(sender, args) {
$find(('<%= AccordionGV1.FindControl("CPE").ClientID %>'))._animation._fps = 35;
$find(('<%= AccordionGV1.FindControl("CPE").ClientID %>'))._animation._duration = 0.5;
}
</script>
Run Code Online (Sandbox Code Playgroud)
当我添加相同的行但是对于AccordionGV2时,第一个停止工作.
让我觉得这比一个更大的问题.
我有一个名为BG的课程,它有一个名为Name Code的属性.我实例化一个名为bgList的对象.现在我试图获取将其"Crop"属性设置为cropName的所有对象的代码.
我想将以下工作代码转换为linq但是因为我的生活无法做到这一点 - 我很确定我错过了一些东西:
List<string> breedingGroupsAndRoles = new List<string>();
for (int i = 0; i < bgList.Count; i++)
{
if (bgList[i].Crop == cropName)
breedingGroupsAndRoles.Add(bgList.[i].Code);
}
Run Code Online (Sandbox Code Playgroud)
我最接近的是这个,但它只给我第一个项目:
breedingGroupsAndRoles.Add(bgrList.Find(c => c.Crop == cropName).Role);
Run Code Online (Sandbox Code Playgroud) 有以下数据库:
GO
/****** Object: Table [dbo].[Emp] Script Date: 2/25/2013 09:52:26 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Emp](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](max) NOT NULL,
[Age] [int] NOT NULL,
[DateOfBirth] [date] NOT NULL,
CONSTRAINT [PK_Emp] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
Run Code Online (Sandbox Code Playgroud)
当我尝试在Visual Studio 2012 c#中的空项目上首先执行实体框架 - >逆向工程代码时,我会在DBContext中完成以下错误
错误1非静态字段,方法或属性'System.Data.Entity.DbContext.Database.get'需要对象引用
为什么会这样? …
在我的项目中,我使用的是一个bool数组,它定义了用户的访问权限.例如
public bool[] Security {get; set;}
Run Code Online (Sandbox Code Playgroud)
哪里
[0] = Admin
[1] = GrantWrites
[2] = GrantDeletes
[3] = User
Run Code Online (Sandbox Code Playgroud)
它工作得很好.我会将它设置为{F,T,F,T}或{0,1,0,1},并且该特定用户可以作为用户进行访问,并允许他编写.
我试图将它转换为枚举,但显然我需要一个数组.
目前我有以下(不工作)
public class UserCrops
{
public UserCrops(etc.., Enum[] _Security)
{
.
.
.
Security = _Security;
}
.
.
.
public Enum[] Security
{
Admin,
GrantWrites,
GrantDeletes,
User
}
Run Code Online (Sandbox Code Playgroud)
}
我发现像一些链接这个,但没有帮助.
提前致谢
编辑:这两个答案都得到了很好的解释,但我会选择非Flag一个,因为它对我来说似乎更容易:)
Edit2:我怎样才能创建一个新对象(在类之外?)我以前做过
bool[] security = new bool[9];
for (int i = 0; i < 9; i++)
{
security[i] = chklstSecurity.Items[i].Selected;
}
userCropList.Add(new UserCrops(.., txtBiologicalAssessmentApprovalDate.Text, security)); …Run Code Online (Sandbox Code Playgroud) c# ×6
linq ×2
.net ×1
arrays ×1
asp.net ×1
com+ ×1
enums ×1
if-statement ×1
jquery ×1
list ×1
svn ×1
tortoisesvn ×1
windows-10 ×1