草庐IT

asp.net-core

全部标签

c# - 使用 EmailAddressAttribute 在 .net 中验证电子邮件字符串,但不在属性上

我希望能够做到这一点:stringemail="some@email.com";boolisValid=IsValidEmail(email);//returnstrue...但是使用Microsoft已经在EmailAddressAttribute中给我们的逻辑。IsValidEmail有数百种好的和坏的实现,我不想添加我自己的,当我可以使用某些东西时,Microsoft已经考虑过了。按理说,他们会比我做得更好。在最近的ASP.Net版本中,我们有System.ComponentModel.DataAnnotations,它为我们提供了出色的EmailAddressAttribute

c# - .net Core amd Roslyn CSharpCompilation,类型 'Object' 在未引用的程序集中定义

我正在尝试将一些.net代码移植到新的Core运行时,但我在移植一些即时编译时遇到了麻烦。继续,它总是要求我提供对System.Runtime和mscorlib的引用,但不知道如何引用它们。附带说明一下,我不能引用Framework4.6,因为该项目必须发布到带有.netCore的Linux机器上。这是最少的代码:stringtestClass=@"usingSystem;namespacetest{publicclasstes{publicstringunescape(stringText){returnUri.UnescapeDataString(Text);}}}";varcom

c# - 如何在 .NET ConcurrentDictionary 中实现 remove_if 功能

我有一个场景,我必须为ConcurrentDictionary中的给定键保留引用计数对象,如果引用计数达到0,我想删除该键。这必须是线程安全的,因此我计划使用ConcurrentDictionary。示例程序如下。在并发字典中,我有key和value,值是KeyValuePair,它保存我的自定义对象和引用计数。ConcurrentDictionary>ccd=newConcurrentDictionary>();//followingcodeaddsthekey,ifnotexistswithreference//countformycustomobjectto1//ifthekey

c# - 在 .NET 4.7 中使用长路径时出现 DirectoryNotFoundException

我已将本地组策略编辑器中的EnableWin32LongPaths设置为Enabled并重新启动计算机。代码如下:stringpath=Environment.GetFolderPath(Environment.SpecialFolder.Desktop);for(inti=0;i我收到错误:System.IO.DirectoryNotFoundException:'Couldnotfindapartofthepath'C:\Users...\Desktop\zzzzzzzzzz...(这实际上是一个奇怪的错误信息。)app.config已经有:更多信息(可能不重要)我尝试按照this

c# - ASP.NET Core Web 服务不会将 appsettings.json 加载到配置中

我有一个带有RazorPages的ASP.NETCore2.1Web应用程序,它在appsettings.json文件中定义了AAD身份验证信息(由默认应用程序模板提供-请参阅下文了解我是如何到达那里的).但是,当尝试在Startup.cs中配置身份验证时,配置中没有来self的appsettings.json的任何配置值。如果我在调试器中检查IConfiguration对象,那么它似乎只有环境变量配置:这是问题所在的Startup.ConfigureServices方法:publicvoidConfigureServices(IServiceCollectionservices){s

c# - .NET Control.Margin 属性有什么用?

我假设C#margin属性的含义类似于CSS-控件外部的间距。但是无论我输入什么值,边距值似乎都被忽略了。然后我在SDK上看了:SettingtheMarginpropertyonadockedcontrolhasnoeffectonthedistanceofthecontrolfromthetheedgesofitscontainer.鉴于我要在表单上放置控件,并且可能将它们停靠,Margin属性对我有什么帮助? 最佳答案 正如PhilipRieck所说,margin属性仅被执行布局的容器控件所尊重。下面是一个示例,可以清楚地说明

c# - 指定使用哪些 DNS 服务器来解析 .NET 中的主机名

我想知道是否有任何方法可以强制System.Net.Dns类使用一组自定义DNS服务器而不是使用与主网络连接关联的服务器来解析主机名。我怀疑这只能使用像DnDns(http://dndns.codeplex.com)这样的自定义库,但我希望这可以在.NET中完成。 最佳答案 不,这不能通过.NetFramework完成。Dns.Resolve方法依赖于内部Win32API,这些API依次通过与网络连接关联的DNS服务器。为了使其正常工作,您必须更改与网络适配器地址关联的DNS服务器。 关

c# - 如何检查泛型参数在 .NET 4.0 中是否是动态的

我有一个类ObjectMapper..NET4.0中有什么方法可以判断typeof(T)是否存在?是dynamic?我希望能够在成员方法内部确定该类是否已初始化为newObjectMapper()与newObjectMapper(). 最佳答案 没有名为dynamic的CLR类型。C#编译器生成类型为object的所有动态值,然后调用自定义绑定(bind)代码来确定如何处理它们。如果使用了dynamic,它将显示为Object。 关于c#-如何检查泛型参数在.NET4.0中是否是动态的,

c# - Log4net - 使用继承时的最佳策略

我在我的应用程序中集成了log4net。我有一些帮助方法来帮助记录调用log4net。重构时,我打算将这些方法移到基类中,这样代码就不会在其他派生类中重复。在没有继承模型的情况下,以下在每个类中都能正常工作privatestaticreadonlyILogLog=LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);将以上内容放在基类中将返回声明类型作为基类而不是派生类。将此声明移至基类的最佳方法是什么?目前,我可以想到几种方法来实现这一点,但没有发现它们是最佳的。 最佳答案

c# - 尝试使用 ODP.NET 在 Oracle 11g 中读取或写入 protected 内存

我正在开发一个应该长时间运行并通过ODP.NET广泛使用Oracle(11g)数据库的应用程序。不过,偶尔(每2或3天)ODP.NET会抛出System.AccessViolationException,然后需要重新启动应用程序。这是我的堆栈跟踪:Unhandledexception:System.Reflection.TargetInvocationException:Exceptionhasbeenthrownbythetargetofaninvocation.--->System.AccessViolationException:Attemptedtoreadorwritepro