草庐IT

c# - Fiddler 未从我的 C# 应用程序捕获流量

我在捕获从我的C#应用程序发送和接收的流量时遇到问题。该应用程序是使用C#5.0和.NET4.5的普通WinForms应用程序。.Fiddler可以毫无问题地捕获来自Chrome和Firefox的流量,只是我的应用程序没有。我还加载了我开发的另一个应用程序,并且运行良好。可能值得注意的是,这是我开发的第一个使用HttpClient发出Http请求的应用程序。这会导致任何问题吗?需要明确的是,Fiddler应用程序监控流量。我没有连接到本地主机。我正在连接到WebAPI。 最佳答案 第1步是在启动您的应用程序之前尝试启动Fiddler

c# - 如何在我的解决方案中使用来自其他项目的 Web Api 项目?

我正在开发一个ASP.NETWebApi和一个ASP.NET网站。该网站将使用WebApi,移动应用程序也将通过REST使用WebApi。单独开发这两个是好的,但是我现在正处于我想开始从网站测试WebApi的阶段,最好是在visualstudio中。例如,我有一个页面,其中有一个表单,完成后会调用我的WebApi以将用户添加到数据库中。在线上传这些进行测试自然是不可能的。那么这里的最佳实践是什么?您可以简单地从网站项目(Aspx)中引用WebApi还是有其他方法来解决这个问题。 最佳答案 对WebAPIController和操作的访

c# - 如何调试(进入)我的项目中引用的类库并具有 .pdb 和源代码?

在VisualStudio(2015)中调试打开的解决方案/项目时,我想调试(进入)位于引用程序集之一的方法调用。该程序集具有.pdb(复制到本地)和源代码。该程序集实际上也是我的类库项目,但不在当前解决方案中,而是在其他解决方案中。我知道调试此程序集的简单解决方案是将其项目添加到当前解决方案而不是引用它,然后调试体验将是无缝的。但是由于某些原因,这对我来说效率不是很高,例如,我应该添加许多程序集(数十个),但我不想以一个巨大的解决方案结束。到目前为止我做过/尝试过的事情:我没有选中仅我的代码我已检查其他程序集的.pdb是否已复制到我当前项目的输出文件夹中。尝试在调用之前设置一个断点,

c# - 我如何验证 ryujit 正在 jitting 我的应用程序?

我已经为.NETRyuJit安装了新的Jit编译器,并按照安装文档中的说明在regedit的.NetFramework中设置了AltJit=*键。http://blogs.msdn.com/b/dotnet/archive/2013/09/30/ryujit-the-next-generation-jit-compiler.aspx那么我如何验证RyuJit是否真的被使用了? 最佳答案 使用Project+Properties设置一个什么都不做的项目:Build选项卡,取消选中Prefer32-bit复选框Debug选项卡,勾选En

c# - ServiceStack 如何从代码调用我的服务

如何调用我自己的服务?我有一个使用其他服务来撰写信息的服务。我想在此服务的代码中调用其他服务。我该怎么做? 最佳答案 有一个名为base.ResolveService()的基本方法它只是解析来自IOC的Autowiring服务并注入(inject)当前请求上下文所以只需调用:using(varservice=base.ResolveService()){service.Post(newMyRequest());}您也可以仅使用RequestDTO调用服务,这也将执行服务全局请求过滤器:base.ExecuteRequest(newM

c# - 如果我重建我的项目引用的 dll,我是否也必须重建该项目?

我一直在编写这个程序(FOO),它包含对dll(BAR)的引用。BAR包含的所有方法都是执行各种不同计算的方法。FOO将能够在多台计算机上安装和部署。我的问题是,如果我更改其中一种方法中的公式(即将x+y更改为x-y),我是否需要重建FOO反对新的BAR?更重要的是,只部署新版本的BAR是否安全? 最佳答案 @vcsjones的评论在这里提出了一个重要观点。当且仅当程序集版本没有改变并且您没有使用强命名程序集时,您可以放入新的DLL作为替换。如果版本确实发生变化,那么您可能会收到运行时错误,因为您的程序会尝试加载特定版本并获得与预期

c# - 为什么我的属性声明 "field:"中需要 "[field:NonSerialized]"?

我在任何地方都找不到列为C#关键字的“字段”。有谁知道这件事的背景吗? 最佳答案 这是必要的,例如,如果您将事件标记为不可序列化。它指定了该属性适用的目标。它是属性目标语法的一部分。来自specification:attribute-target:fieldeventmethodparampropertyreturntype另请参阅NonSerializedAttribute的文档:ToapplytheNonSerializedAttributeclasstoanevent,settheattributelocationtofiel

c# - 强制我的代码使用我的扩展方法

我正在使用BitFactory日志记录,它公开了一堆这样的方法:publicvoidLogWarning(objectaCategory,objectanObject)我有一个扩展方法,可以更好地满足我们的日志记录需求:publicstaticvoidLogWarning(thisCompositeLoggerlogger,stringmessage="",paramsobject[]parameters)这只是总结了一些常见的日志记录操作,意味着我可以像这样记录:Logging.LogWarning("{0}发生错误。ID为{1}",foo,bar);但是当我的paramsobjec

c# - 如何在我的单元测试中使用模拟对象并仍然使用代码覆盖率?

目前我开始将模拟对象的概念引入我的单元测试中。特别是我正在使用Moq框架。但是,我注意到的一件事是,我正在使用此框架测试的类突然显示代码覆盖率为0%。现在我明白了,因为我只是在模拟类,它并没有运行实际的类本身......但是我如何编写这些测试并让代码覆盖率返回准确的结果?我是否必须编写一组使用Mocks的测试和一组直接实例化类。也许我在不知不觉中做错了什么?这是我尝试对名为“MyClass”的类进行单元测试的示例:usingMoq;usingNUnitFramework;namespaceMyNameSpace{[TestFixture]publicclassMyClassTests{

c# - 我应该将我的应用程序上下文与用于标识的 ApplicationDbContext 分开吗?

在Visual-Studio2013中,当创建ASP.NET项目时,它会生成一个包含类ApplicationDbContext的文件IdentityModels.cs,继承自IdentityDbContext,它最终继承自DbContext.我应该只为与帐户相关的实体保留此上下文,并为应用程序中的所有其他实体创建一个单独的上下文,还是应该混合使用。有任何安全问题或不将我的整个应用程序的所有实体包含在一个上下文中的原因吗? 最佳答案 这个没有正确答案。没有与2个不同上下文相关的安全问题。这一切都取决于您的架构——您是否需要创建对您域中