草庐IT

c# - 如何在单元测试期间设置数据结构的内部状态?

我正在用C#编写一个数据结构(使用fibonacciheap的优先级队列),我正在尝试将其用作TDD的学习经验,我对此还很陌生。我知道每个测试应该只测试类的一个部分,这样一个单元的失败就不会把我与多个测试失败混淆,但我不确定当数据结构的状态时如何做到这一点对考试很重要。例如,privatePriorityQueuequeue;[SetUp]publicvoidInitialize(){this.queue=newPriorityQueue();}[Test]publicvoidPeekShouldReturnMinimumItem(){this.queue.Enqueue(2);thi

c# - 拒绝 token 请求时自定义 OWIN/OAuth HTTP 状态代码

我导出了OAuthAuthorizationServerProvider为了验证客户端和资源所有者。当我验证资源所有者时,我发现他们的凭据无效,我调用context.Rejected(),HTTP响应随附HTTP/400错误请求状态代码,而我期望HTTP/401Unauthorized。如何自定义OAuthAuthorizationServerProvider的响应HTTP状态代码? 最佳答案 这就是我们覆盖OwinMiddleware的方式...首先我们在Owin之上创建了我们自己的中间件...我认为我们遇到了与您类似的问题。首先

C#检查打印机状态

在我的应用程序(Windows7、VS2010)中,我必须在成功打印图像后减少信用计数器。无论如何,在开始整个过程​​之前,我想了解打印机状态,以便在出现缺纸、卡纸等情况时提醒用户。现在,环顾四周,我发现了几个使用WindowsWMI的示例,但是……从来没有用过。使用THIS片段,例如,如果我取出纸张、打开盖子...关闭打印机,打印机状态也始终准备就绪。打印机状态现在也一直很好,我正在办公室测试在家里舒适地关闭的打印机。我是否必须用炸药引爆设备才能显示打印机错误状态?这是我用过的代码ManagementObjectCollectionMgmtCollection;ManagementO

c# - 如何查找交易状态

我正在使用“TransactionScope”,我只需要在C#代码中执行一些DML,我已成功完成。我需要查明交易的状态是什么,即交易是否成功完成?因为根据交易状态,如果交易完成则我需要执行重定向到另一个页面,否则如果交易未成功完成则我需要在页面上显示错误。我想在以下之后重定向:-scope.Complete();scope.Dispose();请在这方面帮助我。 最佳答案 如果你visittheMSDNpage对于TransactionScope,您会发现这个有据可查的示例:try{//CreatetheTransactionSco

c# - 如何在 Silverlight 4 中等待状态改变转换完成?

我需要更改控件的状态然后执行一些操作。具体来说,我想在隐藏控件之前运行动画。我想做这样的事情:VisualStateManager.GoToState(control,"Hidden",true);//waituntilthetransitionanimationisfinishedParentControl.Children.Remove(control);问题在于过渡动画是异步运行的,因此在动画开始后控件会立即从可视化树中删除。那么我该如何等待动画完成呢? 最佳答案 您可以将Storyboard.Completed事件处理程序附

c# - 如何确定我的应用程序是否处于事件状态(有焦点)

有没有办法判断我的应用程序是否处于事件状态,即它的任何窗口是否具有.IsActive=true?我正在编写Messenger应用程序,并希望它在处于非事件状态和收到新消息时在任务栏中闪烁。 最佳答案 使用P/Invoke和循环[System.Runtime.InteropServices.DllImport("user32.dll")]staticexternIntPtrGetForegroundWindow();privatestaticboolIsActive(Windowwnd){//workaroundforminimiza

c# - 从 ASP.NET Web API ASP.NET Core 2 返回 HTML 并获取 http 状态 406

这是对ReturnHTMLfromASP.NETWebAPI的跟进.我按照说明进行操作,但在浏览器中收到错误406。我的代码:[Produces("text/html")][Route("api/[controller]")]publicclassAboutController:Controller{[HttpGet]publicstringGet(){return"Welcome";}...并且,简单地说:publicvoidConfigureServices(IServiceCollectionservices){services.AddMvc();}当我删除Produces行我得

c# - HttpClient GetStreamAsync 和 HTTP 状态代码?

我希望使用json.netperformancetipsdocumentation推荐的流,但是我无法找到如何在没有typicalawaitingtheHttpResponse的情况下获取http状态代码。.是否有一种方法可以在不读取数据的情况下先获取状态码?所以还在利用流? 最佳答案 我还没有测试以确保它的性能,但是这看起来很有希望:using(HttpClientclient=newHttpClient()){varresponse=awaitclient.GetAsync("http://httpbin.org/get",Ht

c# - winforms - 状态栏标签的工具提示未显示

我在状态栏中有几个标签,我在上面设置了工具提示。statusLblWeek.Text=weeklyHrs.ToString();statusLblWeek.ToolTipText="Consumptionofthisweek"+statusLblWeek.Text;状态标签显示正确但工具提示未显示。为什么? 最佳答案 使用属性StatusStrip.ShowItemToolTips如果为StatusStrip显示工具提示则为真;否则,假的。默认为false。statusStrip1.ShowItemToolTips=true;sta

c# - NHibernate 无状态 session 的插入很慢

这几天我一直致力于改进NHibernateInsert性能。我在很多帖子(例如thisone)中读到,statelesssession可以每秒插入1000~2000条记录....然而,它可以插入1243条记录的最佳时间对我来说超过9秒:varsessionFactory=newNHibernateConfiguration().CreateSessionFactory();using(IStatelessSessionstatelessSession=sessionFactory.OpenStatelessSession()){statelessSession.SetBatchSize