在遇到堆栈溢出的链接后,我发现MiškoHevery的着作非常引人入胜.非常好,以至于我看到了我以前认为我做得很好的新方法.
他主要讨论依赖注入,自动单元测试和良好设计.
他提倡的一些好的做法是可以以编程方式检测到的东西.因此,有一个程序可以检测它们Google Testability Explorer.
我的问题是:
我正在使用WCF服务和net.tcp端点,其serviceAuthentication的主要PermissionMode设置为UseWindowsGroups.
目前在服务的实现中,我使用PrincipalPermission属性来设置每个方法的角色要求.
[PrincipalPermission(SecurityAction.Demand, Role = "Administrators")]
[OperationBehavior(Impersonation = ImpersonationOption.Required)]
public string method1()
Run Code Online (Sandbox Code Playgroud)
我尝试做的几乎完全相同,除了在app.config中设置角色的配置.有没有办法做到这一点,仍然使用Windows组身份验证?
谢谢
我们在实施Team Foundation Build Server时遇到了性能问题,而且我对如何加快速度的想法已经不多了.我们已经添加了一些PropertyGroup元素来提高几个步骤(SkipClean,SkipLabel,SkipInitializeWorkspace)的性能,但我认为我们需要进行重大的重组才能解决问题.这是我们的设置:
这是我们遇到的基本问题
在过去的几个月里,我们已经放弃了嗜睡并忽略了这个问题,但现在建造时间超过一小时到一个半小时.
我正在考虑学习和切换到巡航控制的想法,以获得更大的控制权.有人不同意吗?
任何帮助都非常感谢.谢谢!
我正在使用Silverlight UnitTest framerwork有没有一个很好的例子有如何用它对应用程序进行单元测试?我正在成功地使用它来对silverlight类库进行单元测试.
任何指针和链接将不胜感激.
谢谢,纳特
我想使用实体框架.但是,我还要求允许我的用户在我们的系统中定义自定义字段.我仍然想使用实体框架,而不是使用带有哈希表属性的部分类.
下面是我想到的解决方案,但它并不简单,所以我想看看是否有更好的方法.
我的想法是,有一个ModelManager对象,它将在相应的表上创建一个列,修改EDM文件,并使用edmgen.exe编译文件.这将全部发生在与应用程序不同的进程和/或应用程序域中,因为应用程序将引用生成的程序集.当应用程序重新启动时,它将可以访问新添加的字段.
这是使用实体框架执行此操作的唯一方法吗?谢谢你的时间.
我有一个C#Excel加载项项目"MyExcelAddIn",它有一个公共方法Foo()来做复杂的事情.出于测试目的,加载项还定义了一个工具栏按钮,该按钮连接到Foo(),因此我可以测试它并验证单击按钮调用Foo()并执行我想要它做的事情.这可以.
现在我想从C#Windows Forms项目中调用此方法.在Windows窗体项目中,我可以创建一个Excel实例并使其可见并验证我的VSTO加载项是否正在运行,因为我可以看到该按钮并且它可以正常工作.但我无法弄清楚如何从Windows窗体项目以编程方式调用Foo().我已经google了一点,得到了"MyExcelAddIn"COMAddIn对象,但无法解决如何调用Foo().
它看起来像这样:
// Create Excel and make it visible
Application excelApp = new Application();
excelApp.Visible = true;
// I know my VSTO add-in is running because I can see my test button
// Now get a reference to my VSTO add-in
Microsoft.Office.Core.COMAddIns comAddIns = _excelApp.COMAddIns;
object addinName = "MyExcelAddIn";
Microsoft.Office.Core.COMAddIn myAddin = comAddIns.Item(ref addinName);
// This works, but now what? How do I make a call on myAddin?
// Note that myAddin.Object is null...
Run Code Online (Sandbox Code Playgroud)
所以我想知道如何从我的Windows窗体应用程序中调用Foo().请注意,我可以完全控制Windows窗体应用程序和加载项,我怀疑我必须对它们(尤其是加载项)进行更改,但我不知道如何执行此操作.
请注意,这是一个VS2008 C#应用程序,我正在使用Excel 2003.
在Visual Studio起始页的左上角,有一个Recent Projects部分,列出了标准的10个最后打开的Project.我知道可以使用Tools-> Options-> Environment-> Genera l更改此编号,然后在Recent Files部分修改数字
但我的问题是如何从最近的列表中删除一些项目?
我个人喜欢它,如果我的uses条款尽可能小,但在许多应用程序中,真正的大单位(在膨胀可执行文件方面)喜欢Forms或VirtualTrees至少在另一个单位需要.
所以:如果我清理我的uses条款,即使最终没有从项目中移除任何单位,它会有所不同吗?如果真是这样,那么是以哪种方式?并且:清理uses条款应该尽快完成,还是等到我偶然找到一个未使用的单位?
我想用C编写一个2d游戏引擎(没有c ++).有哪些好的库有我可能需要的通用数据类型 - 例如队列,树,地图,列表等等?
当我将代码签入我们的Team Foundation Server时,有时候(可能比我实际做的更频繁......)应该将我的签到与我正在努力的任务或错误相关联.当我标记任务或签入时,它会设置要解决的签入操作.但几乎总是,我只想把它当作助理.结果是我经常最终将任务标记为错误解决.有没有办法在标记任务时使关联成为默认值?
解决错误或任务应该是我主动选择的东西.比如,这个工作项与我的签到有关,现在已经解决了.不是,这个工作项目与我的办理登机手续有关,顺便说一句,我还没有完全修复它...
c# ×2
tfs ×2
unit-testing ×2
.net ×1
add-in ×1
app-config ×1
c ×1
delphi ×1
delphi-units ×1
msbuild ×1
silverlight ×1
team-build ×1
vsto ×1
wcf ×1