草庐IT

xsockets.net

全部标签

c# - .NET 4.5 中的序列化中断

我们有一个只发生在.NET4.5中的序列化问题-相同的代码在.NET4中工作正常。我们正在尝试用几个字段序列化一个继承类型,基类和继承类都用标记序列化属性。我们在Web服务的客户端得到一个异常,说服务器中有一个MethodAccessException,服务器本身没有抛出任何异常,这似乎是客户端序列化过程中的问题。请务必注意,我们是在.NET4中编译的,而不是.4.5更新:在实现ISerailize并忽略“Value”属性后,程序确实运行正常,但这意味着我们不得不放弃序列化该字段。任何帮助将不胜感激。谢谢,欧麦异常详情:System.Web.Services.Protocols.Soa

c# - 为什么当我使用 JSON.NET 反序列化时会忽略我的默认值?

我使用JSON.NET作为我的主要序列化器。这是我的模型,看我设置了一些JSONProperties和一个DefaultValue.publicclassAssignmentContentItem{[JsonProperty("Id")]publicstringId{get;set;}[JsonProperty("Qty")][DefaultValue(1)]publicintQuantity{get;set;}}当我序列化List时,它做得很好:privatestaticJsonSerializerSettingss=newJsonSerializerSettings{Default

c# - 在 asp.net 核心中处理异常?

我有asp.net核心应用程序。配置方法的实现在出现异常时将用户重定向到“错误”页面(在非开发环境中)然而,它仅在Controller内部发生异常时才有效。如果异常发生在Controller外部,例如在我的自定义中间件中,则用户不会被重定向到错误页面。如果中间件出现异常,我如何将用户重定向到“错误”页面。publicvoidConfigure(IApplicationBuilderapp,IHostingEnvironmentenv,ILoggerFactoryloggerFactory){loggerFactory.AddConsole(Configuration.GetSectio

c# - 从 ASP.NET Core 中的 Controller 操作运行后台任务

我正在使用C#和ASP.NETCore2.0开发带有RESTAPI的Web应用程序。我想要实现的是,当客户端向端点发送请求时,我将运行一个与客户端请求上下文分离的后台任务,如果任务成功启动,该任务将结束。我知道有HostedService但问题是HostedService在服务器启动时启动,据我所知没有办法启动HostedService从Controller手动。这是演示问题的简单代码。[Authorize(AuthenticationSchemes="UsersScheme")]publicclassUsersController:Controller{[HttpPost]publi

c# - 是否有现成的 .NET 方法来处理 HttpListener HttpListenerRequest 主体的响应主体?

我正在使用HttpListener为本地主机上使用另一种技术编写的应用程序提供Web服务器。该应用程序使用简单的表单提交(application/x-www-form-urlencoded)向我的软件发出请求。我想知道是否已经编写了一个解析器来将html请求文档的主体转换为哈希表或等效项。考虑到.NET似乎已经提供了这么多,我很难相信我需要自己写这个。提前致谢 最佳答案 你的意思是像HttpUtility.ParseQueryString给你一个NameValueCollection?这是一些示例代码。您需要更多的错误检查,并可能使

c# - .NET 中是否有任何集合可以防止空条目?

我特别考虑的是满足集合契约的集合,但我认为这个问题可以适用于任何类型。.NET框架中是否有防止空条目的集合?我想要的具体行为是这样的:varset=newHashSet();booladded=set.Add(null);Console.WriteLine(added);//prints"False"这不是内置HashSet的行为.是否有任何集合具有这种(或类似)行为,或者我最好自己滚动?如果是后者,最好的方法是什么?我应该直接从HashSet继承吗?还是只是包裹起来?编辑:需要说明的是,这只是无聊的思考。主要是因为我想不出有什么理由让我想要允许null成一组对象。我对此没有任何特别的

C# 参数引用和 .net 垃圾回收

我一直在努力弄清楚.NET垃圾收集系统的复杂性,并且我有一个与C#引用参数相关的问题。如果我理解正确的话,方法中定义的变量存储在堆栈中,不受垃圾回收的影响。所以,在这个例子中:publicclassTest{publicTest(){}publicintDoIt(){intt=7;Increment(reft);returnt;}privateintIncrement(refintp){p++;}}DoIt()的返回值将为8。由于t的位置在堆栈上,因此该内存不能被垃圾回收或压缩,并且Increment()中的引用变量将始终指向t的正确内容.但是,假设我们有:publicclassTes

c# - 类/模型级别验证(相对于属性级别)? (ASP.NET MVC 2.0)

基本上,如标题所说。我有几个属性组合在一起可以真正做出一个合乎逻辑的答案,我想运行一个服务器端验证代码(我写的),它考虑了这些多个字段并只连接一个验证输出/错误消息用户在网页上看到。我查看了scottguthries扩展属性并在数据注释声明中使用它的方法,但是,正如我所见,无法在多个属性上声明数据注释样式的属性,您只能放置声明(例如[Email]、[Range]、[Required])超过一个属性:(。我已经查看了当您开始一个新项目时出现的默认mvc2.0项目中的PropertiesMustMatchAttribute,这个示例就像使用一对针来检查您的机油一样有用-没用!我已经尝试过这

c# - 在 .NET 中将流(未知长度)转换为字节数组的最佳方法?

我有以下代码从Stream(在本例中是从命名管道)读取数据并将其写入字节数组://NPSSisaninstanceofNamedPipeServerStreamintBytesRead;byte[]StreamBuffer=newbyte[BUFFER_SIZE];//sizedefinedelsewhere(lessthantotalpossiblemessagesize,though)MemoryStreamMessageStream=newMemoryStream();do{BytesRead=NPSS.Read(StreamBuffer,0,StreamBuffer.Lengt

c# - 如何限制.NET 应用程序中的I/O 操作?

我正在开发一个应用程序(.NET4.0,C#):1.扫描文件系统。2.打开并读取一些文件。该应用程序将在后台运行,对磁盘使用的影响应该很小。如果用户正在执行他们的日常任务并且磁盘使用率很高,它不应该打扰用户。反之亦然,如果没有人使用磁盘,应用程序可以运行得更快。主要问题是由于使用API(mapi32.dll)读取文件,我不知道I/O操作的实际数量和大小。如果我要求API做某事,我不知道它读取了多少字节来处理我的响应。所以问题是如何监控和管理磁盘使用情况?包括文件系统扫描和文件读取......检查标准性能监视器工具使用的性能计数器?还是有其他办法? 最佳答案