草庐IT

xsockets.net

全部标签

c# - 使用 .NET 进行多线程文件处理

有一个文件夹包含1000多个小文本文件。我的目标是在将更多文件填充到文件夹中时解析和处理所有这些文件。我的意图是对该操作进行多线程处理,因为单线程原型(prototype)需要6分钟来处理1000个文件。我喜欢如下所示的读者和作者线程。当读者线程正在读取文件时,我想让编写者线程来处理它们。一旦读者开始阅读文件,我想将其标记为正在处理,例如通过重命名它。阅读后,将其重命名为completed。如何处理这样的多线程应用程序?分布式哈希表好还是队列好?我应该使用哪种数据结构来避免锁定?这个方案有更好的方法吗? 最佳答案 由于对.NET4如

c# - 在 4.0 项目中引用 .net Framework 4.5.1 程序集

如何使4.0项目具有4.5引用。在单元测试中,我无法构建解决方案,它给了我这个警告。Warning2Theprimaryreference"PR.Wallet"couldnotberesolvedbecauseitwasbuiltagainstthe".NETFramework,Version=v4.5.1"framework.Thisisahigherversionthanthecurrentlytargetedframework".NETFramework,Version=v4.0".PR.Wallet.Tests 最佳答案 .

c# - 为什么我的 REST 服务 .NET 客户端会发送每个没有身份验证 header 的请求,然后使用身份验证 header 重试?

我们碰巧运行一个带有API的REST网络服务,要求客户端使用基本身份验证。我们用各种语言制作了一组简洁的示例,展示了如何与我们的服务进行交互。现在,我正在查看该服务的IIS日志,发现以下模式经常发生:一个请求来了,被HTTP代码401拒绝同样的请求被重新发送并成功看起来第一个请求发送时没有Authorizationheader,然后第二个请求使用正确的header发送并成功。大多数情况下,日志记录包含“user-agent”,这与我们在.NET示例中植入的字符串相同。所以我认为问题仅出在.NET程序上。我们的示例代码没有重现该问题,因此我假设用户以某种方式修改了代码或从头开始编写了自己

c# - PUT 和 Delete 不适用于 Windows Azure 上的 ASP.NET WebAPI 和数据库

我正在处理一个具有基本CRUD操作的ASP.NETWebAPI项目。该项目在本地运行,并有一个位于WindowsAzure中的示例数据库。到目前为止,HttpGET和POST工作正常,给了我一个200和201。但我正在努力处理DELETE和POST。我更改了Web.config中的处理程序,删除了WebDav,但这些都不起作用。此外,启用CORS和[AcceptVerbs]等各种属性也不起作用。知道我做错了什么吗?Fiddler原始输出:HTTP/1.1405MethodNotAllowedCache-Control:no-cachePragma:no-cacheAllow:GETCo

c# - ASP.NET Core 的 ActionFilterAttribute 中的异步 OnActionExecuting

ASP.NETCore的ActionFilterAttribute有这些:publicvirtualvoidOnActionExecuting(ActionExecutingContextcontext);publicvirtualvoidOnActionExecuted(ActionExecutedContextcontext);publicvirtualTaskOnActionExecutionAsync(ActionExecutingContextcontext,ActionExecutionDelegatenext);我需要OnActionExecuting的异步版本,它不存在

c# - 使用 C# 和 .net 3.5 阅读 RSS 的问题

我一直在尝试编写一些例程来使用System.ServiceModel.Syndication中可用的新例程来读取RSS和ATOM提要,但不幸的是,Rss20FeedFormatter在我尝试的大约一半提要上失败了,但出现以下异常:AnerrorwasencounteredwhenparsingaDateTimevalueintheXML.只要RSS提要以下列格式表示发布日期,就会出现这种情况:Thu,16Oct0814:23:26-0700如果feed将发布日期表示为GMT,则一切顺利:Thu,16Oct0821:23:26GMT如果有某种方法可以使用XMLReaderSettings

c# - 如何禁止在 .NET 中将按键打印到控制台?

我正在将一个小型C++控制台游戏移植到C#,似乎我无法阻止将按键打印到控制台。在C++中,我使用此方法获取击键,这也禁止将击键打印到控制台:boolGame::getInput(char*c){if(_kbhit()){*c=_getch();returntrue;}returnfalse;}我尝试通过以下方式在C#中执行等效操作:Key=Console.ReadKey();但这并没有抑制字符被打印到控制台,导致明显的问题。关于如何解决这个问题的任何想法? 最佳答案 你想要Console.ReadKey(true)Obtainsth

c# - xunit.net 中是否有一种简单的方法可以在不考虑项目顺序的情况下比较两个集合?

在我的一个测试中,我想确保一个集合有特定的项目。因此,我想将此集合与预期集合的项目进行比较,不考虑项目的顺序。目前,我的测试代码看起来有点像这样:[Fact]publicvoidSomeTest(){//DosomethinginArrangeandActphasetoobtainacollectionListactual=...//NowtheimportantstuffintheAssertphasevarexpected=newList{42,87,30};Assert.Equal(expected.Count,actual.Count);foreach(variteminact

c# - 如何在 asp.net 中将参数添加到操作过滤器?

我有以下过滤器属性,我可以像这样将一个字符串数组传递给属性[MyAttribute("string1","string2")]。publicclassMyAttribute:TypeFilterAttribute{privatereadonlystring[]_ids;publicMyAttribute(paramsstring[]ids):base(typeof(MyAttributeImpl)){_ids=ids;}privateclassMyAttributeImpl:IActionFilter{privatereadonlyILogger_logger;publicMyAttr

c# - 如何将 .net 属性应用于返回类型

如何将MarshalAsAttribute应用到下面代码的返回类型?publicISomethingFoo(){returnnewMyFoo();} 最佳答案 根据http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.marshalasattribute.aspx:[return:MarshalAs()]publicISomethingFoo(){returnnewMyFoo();} 关于c#-如何将