草庐IT

c# - WPF:如何高效地每秒更新图像 30 次

我正在编写一个使用组件的WPF应用程序,该组件返回一个指向位图像素(步长*高度)的指针(IntPtr)。我事先知道位图是一个24位的rgb,它的宽度和高度。用这些位图更新图像控件构成了一个视频给用户,但我不确定最有效的方法是什么,大多数时候CPU使用率达到75%+,内存从40mb变化到500mb,我认为GC开始工作,然后再次下降到40mm。该应用开始没有响应。我该怎么办?谢谢! 最佳答案 您很可能正在分配新的位图,这些位图不是一次性的。您应该分配一个WriteableBitmap并更新它。链接的文档描述了锁定、更新和解锁Writea

c# - 抛出 HttpException 总是发回 HTTP 500 错误?

我正在尝试向客户端返回HTTP403错误代码。我读过HttpException是完成此任务的最干净的方法,但它对我不起作用。我从这样的页面中抛出异常:thrownewHttpException(403,"Youmustbeloggedintoaccessthisresource.");但是,当CustomErrors关闭时,这只会提供标准的ASP.Net堆栈跟踪(带有500错误)。如果CustomErrors打开,那么这将不会重定向到我已设置为在发生403错误时显示的页面。我应该忘记HttpException而是自己设置所有HTTP代码吗?我该如何解决这个问题?我的Web.Config

c# - 在 Ajax 请求的 Asp.Net MVC 操作中处理未处理的异常(错误 500 响应)的最佳策略是什么?

我很困惑如何处理这种情况。通常,当发生未处理的ASP.Net异常时,服务器会发回某种HTML消息,或者是默认的Asp.Net错误处理程序,或者是自定义错误处理程序。不过,在任何一种情况下,都会发回HTML(通常使页面对用户友好是个好主意)。但是,我遇到了一个问题,即在预期为Ajax调用返回JSON的Asp.netMVCController操作中出现未处理的异常。当javascript读取返回的页面(它是HTML而不是预期的JSON)时,由于无法将响应转换为JSON(现在我正在使用ExtJS)而崩溃。我希望在发生异常时返回Json,以便可以通知用户发生了错误。我能想到的唯一解决方案是在每

c# - 如何根据分钟舍入小时数(如果分钟<30,小时+0,否则小时+1)?

我需要根据DateTime变量中的分钟数对小时数进行四舍五入。条件是:如果分钟小于30,则分钟必须设置为零且小时不变,否则如果分钟>=30,则小时必须设置为小时+1,分钟再次设置为零。忽略秒数。例子:11/08/200804:30:49应该变成11/08/200805:00:00和11/08/200804:29:49应该变成11/08/200804:00:00我已经编写了运行良好的代码,但只是想知道是否可以编写更好的方法,并且也希望有替代方法。stringdate1="11/08/200804:30:49";DateTimestartTime;DateTime.TryParseExac

c# - 通过 C# 使用 OAuth2 RESTful 服务时授权错误 500

我目前的工作是使用OAuth2的RESTfulAPI。目前我弄清楚了如何获取访问token,并且在我使用chrome扩展RestConsole时它工作正常,但是当我尝试从我的应用程序执行此操作时,我总是收到我发送无效OAuth请求的错误。您可以在下面看到我尝试使用API的三种方式,但都没有成功。该页面始终返回错误500。如果我遗漏了一些重要信息,我们将不胜感激。varauth="Bearer"+item.access_token;/*FirstAttempt*/varclient=newRestClient("http://");varrequest=newRestRequest("s

c# - 使用 C# 在 SQL Server 的临时表中插入 30,000 行的最快方法

我正在尝试了解如何使用C#提高在SQLServer中的临时表中的插入性能。有些人说我应该使用SQLBulkCopy,但是我一定是做错了什么,因为它似乎比简单地构建SQL插入字符串慢得多。我使用SQLBulkCopy创建表的代码如下:publicvoidMakeTable(stringtableName,Listids,SqlConnectionconnection){SqlCommandcmd=newSqlCommand("CREATETABLE##"+tableName+"(IDint)",connection);cmd.ExecuteNonQuery();DataTableloca

c# - HttpWebRequest 接受 500 内部服务器错误

这是我的代码:HttpWebRequestreq=WebRequest.Create(url)asHttpWebRequest;WebResponsewr=req.GetResponse();当服务器返回500InternalServerError时,在req.GetResponse()中抛出异常。我希望GetResponse()接受此响应代码,传递的url抛出此响应代码是正常的。尽管响应代码500内部服务器错误,我还是想解析Html。是否可以对GetResponse()方法说不验证响应代码? 最佳答案 try{HttpWebReq

c# - 为什么 Entity Framework 需要 30 秒来加载记录,而生成的查询只需要 1/2 秒?

下面的executeTime第一次是30秒,下次执行同一组代码时是25秒。在SQLProfiler中观察时,我立即看到一个登录,然后它就在那里停留了大约30秒。然后,只要运行select语句,应用程序就会完成ToList命令。当我从ManagementStudio运行生成的查询时,数据库查询只需要大约400毫秒。它返回14行和350列。看起来将数据库结果转换为实体所花费的时间非常短,以至于不明显。那么在进行数据库调用之前的30秒内发生了什么?如果EntityFramework这么慢,我们不可能使用它。有没有我做错了什么或者我可以改变什么来显着加快速度?更新:好吧,如果我使用编译查询,第

C# HttpWebRequest 在两次服务器 500 错误后超时

在我创建两个因“(500)内部服务器错误500”而抛出异常的C#HttpWebRequest之后,第三次尝试抛出超时异常。为什么它不抛出另一个(500)InternalServerError异常?当我重新启动我的应用程序时,它会抛出两个500错误,然后再次开始超时。这是我的代码:GetPagesGetPages=newGetPages();stringtest=GetPages.GetPage();/*Exception:(500)InternalServerError*/GetPages.Dispose();GetPagesGetPages=newGetPages();stringt

c# - 从 ajax 调用 WebApi 时如何调试 500 内部服务器错误?

我在MVC4.5WebApi项目中收到500内部服务器错误。我可以使用GET和带有Id的GET成功调用我的网络服务。但是,当我发布文件时出现错误。我可以在Application_BeginRequest()中设置一个断点并确认我首先收到了一个OPTIONS请求,然后是POST。Controller中的方法没有被调用,我已经向Global.asax.cs添加了一个Application_Error()方法,它也没有被调用。html页面正在执行CORS,但我已经使用ThinkTecture.IdentityModel处理了它.我正在关注代码here用于文件上传。有什么想法吗?这是客户端代码