小编Chr*_*ris的帖子

NUnit:"进程无法访问该文件......因为它正被另一个进程使用."

我正在使用NUnit GUI版本,当我在测试项目中加载测试项目时,它开始对我感到不安.如果我在Visual Studio中进行更改,然后尝试重建解决方案,则会抛出错误"无法将文件obj\Debug\foo.dll复制到bin\Debug\foo.dll.进程无法访问文件bin\Debug\foo.dll,因为它被另一个进程使用."

当然,这是我加载到GUI中的DLL.它曾经没问题,只是在构建后刷新项目引用,但现在它似乎阻止了它.我怎样才能回到那种行为?

我已经尝试过启用/禁用阴影复制设置,两种方式都有相同的结果.

VS2008 SP1和NUnit 2.4.8,如果重要的话.

nunit

25
推荐指数
2
解决办法
6641
查看次数

ASP.NET中的缓存模式

所以我刚刚修改了一个我正在开发的框架中的bug.伪伪代码如下所示:

myoldObject = new MyObject { someValue = "old value" };
cache.Insert("myObjectKey", myoldObject);
myNewObject = cache.Get("myObjectKey");
myNewObject.someValue = "new value";
if(myObject.someValue != cache.Get("myObjectKey").someValue)
     myObject.SaveToDatabase();
Run Code Online (Sandbox Code Playgroud)

所以,基本上,我从缓存中获取一个对象,然后将原始对象与缓存对象进行比较,以查看是否需要将其保存到数据库中以防它被更改.问题出现是因为原始对象是引用...所以更改someValue也会更改引用的缓存对象,因此它永远不会保存回数据库.我通过从缓存版本克隆对象来修复它,切断引用并允许我将新对象与缓存对象进行比较.

我的问题是:有没有更好的方法来做这个,一些模式,你可以推荐?我不可能是唯一一个这样做过的人:)

asp.net caching

14
推荐指数
1
解决办法
3771
查看次数

通过HTTPS在ASP.NET中保护会话cookie

读完这篇/后,我有点好奇.关于劫持HTTPS cookie的文章.我跟踪下来了一点,和一个很好的资源我偶然发现列出了几种方法,以确保饼干在这里.我必须使用adsutil,还是在web.config封面会话cookie的httpCookies部分设置requireSSL以及其他所有内容(此处介绍)?还有什么我应该考虑进一步强化会议吗?

asp.net security cookies session

14
推荐指数
2
解决办法
1万
查看次数

拳击和拆箱:什么时候出现?

所以我明白拳击和拆箱是什么.什么时候出现在现实世界的代码中,或者在什么样的例子中出现问题?我无法想象做这样的事情:

int i = 123;
object o = i;           // Boxing
int j = (int)o;     // Unboxing
Run Code Online (Sandbox Code Playgroud)

...但这几乎肯定是极度过于简单的,我甚至可能在之前不知道它的情况下完成了装箱/拆箱.

c# boxing object

14
推荐指数
3
解决办法
6487
查看次数

您的团队对主要版本代码部署执行哪些标准?

我很好奇其他团队确保在代码发布(或部署)在主要版本中出现之前采用何种标准.

我不是在寻找每个人的具体答案,但这里有一个关于我想要了解的内容的想法.

  • 对于基于服务器的应用程序,您是否确保监控已到位?到什么程度......只是它响应ping,它可以在任何给定时刻点击它的所有依赖关系,应用程序实际服务的逻辑是合理的(例如,计算2 + 2的服务实际返回"4 ")
  • 在发布代码之前,您是否需要自动构建脚本?意思是,任何开发人员都可以走进一个新的盒子,从源代码控制中抽出一些东西,然后开始开发?当然,还有像操作系统和IDE这样的东西.
  • 基于服务器的应用程序的自动部署脚本如何?
  • 您需要什么级别的文档才能"完成"项目?
  • 如果它是基于服务器的,你是否确定你有一个完整的系统所有主要组件的备份计划?
  • 您是否执行代码质量标准?想想StyleCop for .NET或圈复杂度评估.
  • 单元测试?整合测试?性能负载测试?
  • 您是否有处理应用程序错误日志记录的标准?错误通知怎么样?

同样,不要寻找上述任何事情的答案的逐行打孔列表.简而言之,代码发布必须完成哪些非编码项目才能正式被认为是为您的团队"完成"?

standards release-management

11
推荐指数
1
解决办法
961
查看次数

Visual Studio:代码中的引用无法识别?

我在VS2008(C#)中有一个包含多个项目的解决方案.我刚刚为我们的构建过程重新编写了一些.csproj文件,并且突然编码项目B时不会识别类代码中项目A的引用...想想我创建的变量类型下的红色波浪线.但是,构建解决方案不会产生任何错误.为什么它会像这样?

visual-studio

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

ASP.NET MVC:ViewModels与域实体

我正在用MVC 3构建一个概念应用程序,试图了解它的方法.我以前在WebForms中使用n层方法完成了一些非常重要的应用程序,通常由存储的存储库和服务的域对象组成,以便在存储之前对它们进行操作.

我试图调和我以前用"正确"方式做事的方式在MVC中做这些事情,如果有这样的话.我现在要挂起的东西是何时使用ViewModels与何时使用我在其他项目中的域对象.验证是通过ViewModels完成的,但是当我编写更多自定义的业务逻辑验证时,似乎它对于一个低级的ViewModel负有太大的责任,它只是帮助我移动数据,然后通过存储库层将其正式存储在数据库中.

我也厌倦了将ViewModel数据映射到存储库存储和检索的"官方"域对象,但我觉得我不应该使用MVC属性来破坏我的域对象以进行验证.

对于在域对象和纯粹的ViewModel之间绘制线的位置,您有什么建议吗?或者我是否使事情变得复杂,我的ViewModel实际上应该是存储库存储的"官方"模型?

asp.net-mvc

11
推荐指数
3
解决办法
3020
查看次数

命名空间/解决方案结构

我为提出这样一个普遍的问题而道歉,但这对我来说是个挑战.我的团队即将开始一个大型项目,希望能够将所有随机的一次性代码库集中在一起.鉴于该项目将涵盖整个公司的标准化逻辑实体("客户","员工"),小任务,控制小任务的大型任务以及公用事业服务,我正在努力找出构建公司的最佳方式.名称空间和代码结构.

虽然我想我没有给你足够的细节继续,你是否有任何关于如何在逻辑上分割你的域的资源或建议?如果它有所帮助,大部分功能将通过Web服务显示,我们是一家拥有所有最新小玩意和小工具的微软商店.

  • 我正在讨论一个带子项目的大规模解决方案,以便让参考更容易,但是这会让它太笨重吗?
  • 我是否应该包含遗留应用程序功能,或者在命名空间中保留完全不可知(例如,将OurCRMProduct.Customer类与通用Customer类相比)?
  • 如果每个服务/项目有自己的BALDAL,或者应该说是一个完全独立的组件都引用?

我没有组织这些影响深远的项目的经验,只有一次性的,所以我正在寻找我能得到的任何指导.

architecture legacy namespaces module

10
推荐指数
2
解决办法
1724
查看次数

功能服务器命名约定

我见过" 最酷的服务器名称 ",我看到了另一个与我有关的小问题,不幸的是关闭了.

这是一个严肃的问题,因为我是一个内部应用程序开发团队,负责管理几十台服务器上的应用程序.网络人员通常不关心我们所谓的服务器,只要他们知道他们,所以我们可以提出任何约定.

服务器处理的应用程序可以是自行开发的自定义应用程序,也可以是SharePoint等大型供应商.他们可以:

  • 在多个无法相互通信的网络环境中(想想防火墙外部服务器与内部网络服务器)
  • 在不同的物理位置(加州办事处与纽约等)
  • 在多个部署层(生产,登台,测试,开发)中
  • 有一个或多个功能(Web服务器,数据库服务器,邮件服务器,应用程序服务器)
  • 负载平衡与否
  • 待机(用于灾难恢复)或主要用途

呼!认为甚至可以提出一个可以解决所有这些方面或重要方面的公约?听到一个服务器名称(或者它的DNS条目)并且能够立即知道它的作用是很好的,它也适用于让新人加快速度."sharepoint-IPC-1已关闭"可以解析为"加利福尼亚数据中心的内部生产SharePoint Web服务器,这是负载平衡中的第一个节点已关闭!"......但这看起来似乎过于复杂.

我想到的另一件事是旧的邮件中继服务器正在退役,这意味着我们必须遍历许多旧的应用程序以重新命名硬编码的服务器值(我知道...... :).

naming-conventions

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

识别SQL Server性能问题

我们的SQL Server 2005群集上有零星的,随机的查询超时.我拥有一些使用它的应用程序,所以我正在帮助调查.在常规ol'Perfmon中观察%CPU时间时,你当然可以看到它盯住了.但是,SQL活动监视器仅提供进程使用的累积CPU和IO时间,而不是当时使用的或在特定时间范围内使用的累积CPU和IO时间.也许我可以使用分析器并运行跟踪,但是这个集群使用非常频繁,我担心我会在大海捞针中寻找针.我吠叫错了树吗?

有没有人有一些很好的方法来跟踪这个环境中昂贵的查询/进程?

sql-server performance sql-server-2005

9
推荐指数
1
解决办法
3764
查看次数