草庐IT

listings_controller

全部标签

C# WebApi 单元测试和模拟 Controller

我正在处理这个WebAPI项目,我需要为其创建单元测试。该项目的基础是使用VS2010创建的,然后添加了一个WebApi模块。Controller的工作有点妨碍测试/模拟。我正在使用xUnit和Moq,但绝对没有必要坚持使用这两个。应用程序使用特定的对象来处理数据库访问,所以我有controllerObject及其构造函数需要DataAccessObject我在模拟Controller/数据访问对时遇到问题。我尝试运行的第一个测试是GetAllFromDataBase,但我真的不知道如何去做。编辑:我按照CuongLe告诉我的去做了,现在一切都在进行中,我真的很感激。但我遇到了另一个问

c# - : List<T>. Add() 或 System.Array.Resize() 哪个更有效?

我正在尝试确定何时使用List.Add()更有效与使用Array.Resize()相比方法。Array.Resize的文档说它复制了整个数组,并将其放入一个新对象中。旧对象将不得不被丢弃。这个旧对象在哪里?在栈上还是堆上?我不知道List.Add()是如何工作的。有谁知道List.Add方法与静态Array.Resize方法相比如何?我对内存使用(和清理)以及300种值类型和20,000种值类型哪个更好。就其值(value)而言,我计划在.NET的一种嵌入式版本上运行此代码。可能是.NETGadgeteer 最佳答案 你应该使用Li

c# - 如何在不知道 T 是什么的情况下将 T 类型的项目添加到 List<T>?

我正在处理一个事件,该事件传递指向一个列表和一个T新项目的事件参数,我的工作是将新项目添加到列表中。如果不检查我知道T可能是的所有类型,我该如何做到这一点?当前的代码是这样的几十行:privatevoidDataGridCollectionViewSource_CommittingNewItem(objectsender,DataGridCommittingNewItemEventArgse){Typet=e.CollectionView.SourceCollection.GetType();if(t==typeof(List)){Listsource=e.CollectionView

c# - List<string> 复杂排序

我有一个List尺码,例如XS、S、M、L、XL、XXL、UK10、UK12等我想要的是强制顺序为上面的顺序,不管列表中项目的顺序如何,我想我需要一个IComparable运算符但不确定。理想情况下,我希望有另一个具有正确顺序的列表,它可以引用它在列表中的“位置”并自行重新排序,如果它不存在,它将默认为A-Z 最佳答案 按照您希望的顺序创建一个尺码数组,然后根据尺码在该数组中的位置对衬衫进行排序:string[]sizes=new[]{"XS","S","M","L","XL","XXL","UK10","UK12"};varshi

c# - 如何使用 Razor 从我的 View 中调用 Controller 操作?

我有两个Controller-HomeController-Index()-AccountController-Login()在我的Home/Index.cshtml中,我想加载AccountController/Login方法,该方法然后返回一个View并将其显示在我的Home/IndexView中。Home/Index.cshtml我该怎么做? 最佳答案 将其与您实际的Controller/View名称一起使用@Html.Partial("../Home/Login",model)或@Html.Action("action","

c# - 确保 Controller 有一个无参数的公共(public)构造函数

我收到这个错误Anerroroccurredwhentryingtocreateacontrolleroftype'AnalyticController'.Makesurethatthecontrollerhasaparameterlesspublicconstructor.代码可以在测试环境中运行,但不能在生产服务器上运行。知道是什么导致了这个问题吗?这是我的ControllerpublicclassAnalyticController:ApiController{privateAnalyticBLLanalyticBLL=newAnalyticBLL();//POSTapi/sta

c# - 如何将 DbSet<T> 转换为 List<T>

鉴于以下简化的EntityFramework6上下文,我试图用实体填充一个列表,但在如何通过反射进行转换(我相信)方面遇到了问题。publicclassFooContext:DbContext{publicvirtualIDbSetFoo{get;set;}//...}publicclassFooClass{publicintId{get;set;}publicstringName{get;set;}//...}publicmain(){using(varcontext=newFooContext()){varsets=typeof(FooContext).GetProperties(

c# - List<t> 可以被多个线程访问吗?

我打算在多个线程之间共享一个列表。该列表将在更改期间被锁定,这种更改很少发生。如果同时从列表中的不同线程进行多次迭代,是否存在线程安全问题? 最佳答案 如果可以(如果可以使用.NET4),请使用BlockingCollection:Providesblockingandboundingcapabilitiesforthread-safecollectionsthatimplementIProducerConsumerCollection.如果没有,则完全封装列表并添加访问List's的线程安全方法状态。不要公开对列表的引用或从任何方

c# - 将窗体设置为父级抛出异常 "Top-level control cannot be added to a control"

我想从另一个表单访问一个表单的变量。单击主窗体中的按钮后,我想将主窗体设置为父窗体,然后调出另一个窗体(子窗体),我将在其中访问主窗体的变量。我的点击处理程序如下:privatevoidbtnSystem_Click(objectsender,EventArgse){Form_EnterPasswordEP=newForm_EnterPassword();EP.Parent=this;//error:Top-levelcontrolcannotbeaddedtoacontrolEP.ShowDialog();}它编译正常,没有任何错误。但是,当我运行主窗体并单击“系统”按钮时,它会抛出

c# - ASP.NET MVC 3 Razor : Passing Data from View to Controller

我对.NET的一切都是全新的。我有一个带有HTML表单的非常基本的网页。我希望“onsubmit”将表单数据从View发送到Controller。我看过与此类似的帖子,但都没有涉及新的Razor语法的答案。我如何处理“onsubmit”,以及如何从Controller访问数据?谢谢!! 最佳答案 您可以将要传递的View控件包装在Html.Beginform中。例如:@using(Html.BeginForm("ActionMethodName","ControllerName")){...yourinput,labels,text