小编dr.*_*vil的帖子

实现保存/加载功能的方法是什么?

我正在尝试为Windows窗体应用程序实现加载/保存功能.

我有以下组件:

  • 树视图
  • 几个列表视图
  • 几个文本框
  • 一些对象(包含大型词典列表)

我想实现一种将所有这些保存到文件中的方法,并在以后恢复/加载它.

最好的方法是什么?

我认为XML序列化是可行的方法,但我不太确定如何或从哪里开始.或者它需要一个非常复杂的解决方案才能做到这一点?

.net load save winforms

5
推荐指数
2
解决办法
2651
查看次数

如何处理长时间运行的单元测试?

我有大约100个单元测试,覆盖率为%20,我正在努力增加覆盖范围,这也是一个开发项目,所以不断添加新的测试.

目前在每次构建之后运行我的测试是不可行的,他们需要大约2个时刻.

测试包括:

  • 从测试文件夹中读取文件(数据驱动样式以模拟某些HTTP内容)
  • 对本地Web服务器执行实际的HTTP请求(这是一个非常痛苦的模拟,所以我不会)
  • 不是所有的单元测试,但也有相当复杂的多线程类需要测试,我测试测试的整体行为.这可以被视为功能测试,但也需要每次都运行.

大多数功能都需要读取HTTP,执行TCP等.我无法更改它们,因为如果我改变这些测试,这就是项目的整体想法,测试内容将毫无意义.

另外,我认为我没有最快的工具来运行单元测试.我当前的设置使用VS TS与Gallio和nUnit作为框架.我认为VS TS + Gallio也比其他人慢一点.

你会建议我解决这个问题?我想在每一点点改变之后运行单元测试btu目前这个问题正在打断我的流程.

进一步澄清编辑:

代码高度耦合!不幸的是,变化就像一个巨大的反射过程.并且有一个鸡蛋综合症,我需要单元测试来重构这么大的代码,但如果我不重构它我就不能有更多的单元测试:)

高度耦合的代码不允许我将测试分成更小的块.此外,我不测试私人物品,这是个人选择,这使我能够更快地发展并仍然获得大量的好处.

并且我可以确认所有单元测试(具有适当的隔离)实际上非常快,并且我没有它们的性能问题.


进一步澄清:

代码高度耦合!不幸的是,变化就像一个巨大的反射过程.并且有一个鸡蛋综合症,我需要单元测试来重构这么大的代码,但如果我不重构它我就不能有更多的单元测试:)

高度耦合的代码不允许我将测试分成更小的块.此外,我不测试私人物品,这是个人选择,这使我能够更快地发展并仍然获得大量的好处.

并且我可以确认所有单元测试(具有适当的隔离)实际上非常快,并且我没有它们的性能问题.

legacy tdd performance unit-testing http

5
推荐指数
3
解决办法
3298
查看次数

如何在Webbrowser控件中捕获XMLHTTP请求?

BeforeNavigate2事件或任何其他类似事件不会在WebBrowser控件中捕获XMLHTTP请求.反正有没有解决这个问题?

这是一个.NET项目.

编辑:

我发现这个C++应用程序显然可以用来解决这个问题,但是将它移植到托管代码看起来并不可能.也许我应该将C++更改为COM对象并从.NET调用它 - 这并不容易,因为它甚至不能在VS 2008中编译,因为ATL更改我认为 - .

.net c# xmlhttprequest webbrowser-control

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

Web浏览器控制窃取快捷方式

我的.NET Windows窗体应用程序中的Web浏览器控件在关注时会窃取快捷方式.为了能够使用Alt + F4我必须先点击一个控件.

目前" WebbrowserShortcuts = false"但它仍然相同.

有没有办法阻止这种恼人的行为?

.net shortcut webbrowser-control winforms

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

GoTo标签的命名约定

你如何命名你的GoTo标签?我经常使用很少,所以我很难找到好名字.

请不要使用经典的'goto is evil and eat your code alive discussion'

label coding-style goto naming-conventions

5
推荐指数
2
解决办法
1807
查看次数

写作单元稍后测试

我知道TDD风格是首先编写测试,看到它失败然后去做绿色,这是好东西.有时它真的对我有用.

然而,特别是当我尝试一些东西(即不确定设计,不确定它是否会起作用)或疯狂编写代码时,我不想编写单元测试,这会打破我的流程.

我倾向于稍后编写单元测试,特别是在事情变得过于复杂之前.还有另外一个问题,以后写它们通常更无聊.

我不太确定这是不是一个好方法(绝对不是最好的).

你怎么看?您是否编写代码以后编写单元测试?或者您如何处理此流程问题或实验设计/代码阶段.

tdd unit-testing

5
推荐指数
2
解决办法
577
查看次数

生成调试信息(pdb)使我的应用程序在运行时变慢?

在.NET应用程序中生成调试信息(pdb)使我的应用程序在运行时更慢?或者他们只是在应用程序崩溃时进入游戏?

.net debugging performance pdb-files

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

单声道XSP许可证

首先,我很抱歉这样的问题,我浏览互联网和谷歌搜索,但那里有很多不同的想法.在邮件列表中,我实际上看到人们声称需要购买Mono许可证才能在商业工具中使用它.

我可以在商业工具中使用Mono XSP,许可是否允许?

我不擅长阅读法律文件.并试图弄清楚这究竟意味着什么.在XSP包中,我有这个COPYING文件:

Copyright (c) 2002, 2003, 2004 Novell, Inc. and the individuals
Run Code Online (Sandbox Code Playgroud)

在ChangeLog条目中列出.

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction,
Run Code Online (Sandbox Code Playgroud)

包括但不限于使用,复制,修改,合并,发布,分发,再许可和/或销售本软件副本的权利,并允许软件所在的人员这样做,但须符合以下条件:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, …
Run Code Online (Sandbox Code Playgroud)

.net mono licensing xsp

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

在Sqlserver中CLR集成可能存在哪些问题

我读了一篇关于在sqlserver中使用CLR集成的文章,并想知道一些潜在的问题可能是什么,如果有的话.我的想法是用它来验证遗留数据库中的潜在坏数据.一个例子是电话号码栏中的人名.

编辑:我认为没有任何问题,但这不是我看到很多讨论的事情,并且想要确保我没有打开一个可以在以后引起问题的蠕虫.我问的原因是我的DBA看着我,就像我问起这个时我疯了似的.

.net sql-server sqlclr

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

使用联锁

这段代码是线程安全的吗?或者这样说:

无论如何调用GetIt()并且GetIt()将返回相同的数字到2个不同的线程

Private Shared hitCount As Long = 1

Public Shared Function GetIt() As Long
     Threading.Interlocked.Increment(hitCount)
     DoSomethingQuick(hitCount)
     Return hitCount
End Function
Run Code Online (Sandbox Code Playgroud)

看起来这是可能的,那么我应该Interlocked.Read()在一个区块中使用或锁定整个东西吗?

.net performance multithreading interlocked

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