草庐IT

有效性

全部标签

c# - 如何使 .NET 属性仅对某些类型有效

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Specifyrequiredbaseclassfor.NETattributetargets我想指定我的自定义属性只对某些类型有效(基于接口(interface)或基类)。像这样:我该怎么做?

c# - 在 .NET 中通过线路移动对象时哪种方法最有效?

我一直在使用Web服务通过网络传输数据,这对我来说非常有用。它擅长发送小块数据。一旦您必须移动具有大量属性的深层对象树,生成的XML汤就需要100k数据并将其变成1MB。所以我试过了IISCompression,但这让我不知所措。它很好地压缩了数据,但折衷是压缩/解压缩。然后我通过BinaryFormatter序列化对象并将其发送出去。这更好,但是,编码/解码的速度仍然存在。无论如何,我听说我还停留在00年代,现在有更好的方式通过网络发送数据,例如ProtocolBuffers、MessagePack等...谁能告诉我这些新协议(protocol)是否更适合发送大量数据以及我是否缺少其

c# - 如何安全地将包含转义 JSON 的字符串转换为有效的 JSON?

我正在与返回JSON响应的第三方API通信,如下所示:"{\"SomeResponse\":{\"FIrstAttribute\":8,\"SecondAttribute\":\"On\",\"ThirdAttribute\":{\"Id\":2,\"FirstName\":\"Okkie\",\"Name\":\"Bokkie\",\"Street\":\"\",\"StreetNumber\":null,\"PostCode\":\"\",\"City\":\"\",\"Country\":\"}}}"它是一种JSON...但作为字符串。请注意第一个和结尾的双引号,当然还有所有转义

c# - “System.DateTime”不是有效的 Windows 运行时参数类型

我使用的是C#类,它在我的Windows应用商店应用程序(C#)中运行良好。但是当我尝试在Windows运行时组件中使用它时,出现以下错误:Calculator.Calculate(System.DateTime)'hasparameter'dateTime'oftype'System.DateTime'.'System.DateTime'isnotavalidWindowsRuntimeparametertype.类中的示例对象:publicDateTimeCalculate(DateTimedateTime){intdayNumberOfDateTime=ExtractDayNum

c# - 如何有效地测试 Action 是否装饰有属性(AuthorizeAttribute)?

我正在使用MVC,在我的OnActionExecuting()中,我需要确定即将执行的Action方法是否装饰有属性AuthorizeAttribute特别是。我不是在询问授权是否成功/失败,而是在询问该方法是否需要授权。对于非mvc人员filterContext.ActionDescriptor.ActionName是我正在寻找的方法名称。但是,它不是当前正在执行的方法;相反,它是一个将很快执行的方法。目前我有一个如下所示的代码块,但我对每个Action之前的循环不太满意。有更好的方法吗?System.Reflection.MethodInfo[]actionMethodInfo=t

c# - 当传递具有修改行的 DataRow 集合时,更新需要有效的 UpdateCommand

上周我完成了这个工作。至少,我以为我做到了!DataGridViewUpdate然后我今天又开始做这个项目,我得到了UpdaterequiresavalidUpdateCommandwhenpassedDataRowcollectionwithmodifiedrows.开启scDB.SSIS_Configurations_StagingDataTabletable=(scDB.SSIS_Configurations_StagingDataTable)stagingGrid.DataSource;myStagingTableAdapter.Update(table);StagingTab

c# - 验证有效时间的正则表达式

我需要一个正则表达式来验证时间。有效值将从0:00到23:59。当时间小于10:00时,也应该支持一个字符的数字。这些是有效值:9:0009:00 最佳答案 试试这个正则表达式:^(?:[01]?[0-9]|2[0-3]):[0-5][0-9]$或者更明确地说:^(?:0?[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$ 关于c#-验证有效时间的正则表达式,我们在StackOverflow上找到一个类似的问题: https://stackove

c# - 如何以编程方式创建有效的自签名 X509Certificate2,而不是从 .NET Core 中的文件加载

我目前做的是使用OpenSSL生成PFX文件。这会导致不必要的依赖,尤其是对于Windows用户。所以我找到了一些关于如何使用BouncyCaSTLe创建自己的证书的示例,但是这个库与.NETCore不兼容(或者我找不到兼容的包)。那么,是否可以仅使用.NET核心创建您自己的自签名X509证书以避免依赖OpenSSL(或任何其他证书生成外部工具)?编辑:有人(编辑?)建议这个SO问题Howtocreateaself-signedcertificateusingC#?提供了一个答案。可悲的是,这与.NETCore无关。接受的答案以ThisimplementationusestheCX50

c# - LINQ .Cast() 扩展方法失败但(类型)对象有效

为了在某些LINQtoSQL对象和DTO之间进行转换,我们在DTO上创建了显式转换运算符。这样我们就可以执行以下操作:DTOTypeMyDTO=(LinqToSQLType)MyLinq2SQLObj;这很有效。但是,当您尝试使用LINQ.Cast()扩展方法进行转换时,它会抛出一个无效的转换异常,指出无法将类型Linq2SQLType转换为类型DTOType。即以下不起作用ListNames=dbContact.tNames.Cast().ToList();但下面的工作正常:DAL.tNameMyDalName=newDAL.tName();DTO.NameMyDTOName=(DT

c# - 如何有效地终止 C# 中的线程?

我不是trying至beat一个deadhorse,honestly.我已经阅读了所有关于线程终止的建议,但是,请考虑代码。它执行以下操作:它启动一个线程(通过StartThread方法)它调用数据库在ServiceBroker队列中查找任何内容。请注意WAITFOR命令-这意味着它会一直坐在那里直到队列中有内容。所有这些都在MonitorQueue方法中。终止线程。我尝试了.Interrupt-它似乎什么也没做。然后我尝试了.Abort,它永远不应该被使用,但即使这样也没有任何作用。ThreadthxMonitor=newThread(MonitorQueue);voidStartT