草庐IT

net_kernel

全部标签

c# - .Net 属性 setter 是否曾被隐式调用?

我正在使用C#进行ASP.Net2.0项目。我有一些数据存储在session状态中。为了便于使用,它被包装在一个属性中,如下所示:protectedIListRelevantSessionData{get{return(IList)Session["relevant_key"];}set{Session["relevant_key"]=value;}}获取和设置值的方式完全符合您的预期。如果我想清除这个值,我直接设置为null,就没有问题了。但是,在另一个开发人员的页面中,他调用了集合的Clear()方法。我以为这会是一个错误,但它似乎有效,但我不明白为什么。它是这样工作的:Debug

c# - .net Windows 服务本地应用程序数据与普通应用程序中的数据不同

在普通的控制台应用程序中我有这个Environment.SpecialFolder.LocalApplicationData是C:\Users\Simon\AppData\Local\在Windows服务中Environment.SpecialFolder.LocalApplicationData是C:\Windows\system32\config\systemprofile\AppData\Local\如何在两种类型的应用程序中指定相同的路径? 最佳答案 请记住,服务在不同的用户配置文件(可以是LOCAL_SERVICE、NET

c# - 关闭 .NET SerialPort 后的 ObjectDisposedExecption

我正在使用.NET4SerialPort对象与连接到COM1的设备通信。当我完成对设备的操作后,我在SerialPort上调用Close。我不调用Dispose,但我相信Close和Dispose在这里是同义词。通常这工作得很好。然而,有时我会在一段时间后收到以下异常(我看到的时间范围为5毫秒到175毫秒):System.ObjectDisposedException:SafehandlehasbeenclosedatSystem.Runtime.InteropServices.SafeHandle.DangerousAddRef(Boolean&success)atSystem.St

c# - .NET 的跨平台音频库

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。Improvethisquestion要求:实时从麦克风获取原始输入实时回放原始输入我似乎无法从谷歌搜索中找到很多关于它的信息。有人用过类似的东西吗?我正在使用C#,它需要在Windows、Linux和Mac上工作,后两者使用Mono。我可能愿意使用p/invoke,但我对native代码不是特别熟悉,这会很困难。如果有人可以推荐本地库,我会试一试。

c# - 用于 .NET 的快速且内存高效的 ASCII 字符串类

这可能以前有人问过,但我找不到任何这样的帖子。是否有处理ASCII字符串的类?好处很多:比较应该更快,因为它只是逐字节比较(而不是使用可变编码的UTF-8)内存效率高,在大字符串中应该使用大约一半的内存ToUpper()/ToLower()的更快版本,使用语言不变的查找表JonSkeet写了一个基本的AsciiStringimplementation并证明了#2,但我想知道是否有人更进一步并完成了这样的类(class)。我确信会有用处,尽管通常没有人会采用这样的方法,因为所有现有的String函数都必须手动重新实现。StringAsciiString之间的转换会分散在各处,从而使原本简

c# - Visual Studio 2017 使用 C# 7.2 发布 ASP.NET Core 应用程序

我有一个使用publicstaticasyncTaskMain()的Asp.NetMVCCore网站。为此,我已将调试和发布构建配置的语言版本设置为C#7.2(在属性->构建->高级对话框中,在csproj中仔细检查)。应用程序在调试和Release模式下都能正常构建和启动。现在,我尝试直接从VisualStudio201715.5.2(使用WebDeploy)将它发布到Azure网站,我得到了这个:Program.cs(17,29):ErrorCS8107:Feature'asyncmain'isnotavailableinC#7.0.Pleaseuselanguageversion

c# - 如何配置 Visual Studio Code 以从适用于 Linux 的 Windows 子系统 (WSL) 运行/调试 .NET (dotnet) Core?

我在WindowsSubsystemforLinux中安装了.NETCore2.2(WSL)并创建了一个新项目。我还为VisualStudioCode安装了C#扩展,语法突出显示和IntelliSense似乎可以正常工作。但是,当我尝试使用调试器时,一切都停止了。这是我尝试对其进行配置的分步操作。这是我的launch.json文件:{//UseIntelliSensetolearnaboutpossibleattributes.//Hovertoviewdescriptionsofexistingattributes.//Formoreinformation,visit:https:/

c# - 如何获取 ASP.NET Core 中已注册中间件的列表?

在ASP.NETCore中,您可以在用于Web主机构建器的启动类的Configure方法期间通过使用app.使用中间件(...)。但是,在调试期间,我如何获得已注册中间件提供者的列表?我看不到任何实际查看已为应用程序注册的中间件的方法。 最佳答案 从另一个人指出的问题与这个问题非常相似:由于某种原因,中间件列表并未公开。但是,在Debug模式下,可以通过检查IApplicationBuilderapp来获得它。Configure执行期间的变量方法,特别是_components非公共(public)成员。此非公开成员是IList>,包

c# - 如何在运行时加载的程序集中使用公共(public) log4net 引用?

我有一个单线程应用程序,它使用以下代码在运行时加载多个程序集:objDLL=Assembly.LoadFrom(strDLLs[i]);我希望以这种方式加载的程序集使用与其余程序集相同的log4net.ILog引用。但是看起来运行时加载的程序集有一个完全不同的引用并且需要它们自己的配置。有谁知道单个log4net.ILog是否可以跨使用.NET接口(interface)在运行时加载的程序集使用?这是Program类中的log4net.ILog创建和支持代码://Configurelog4netusingthe.configfile[assembly:log4net.Config.Xml

c# - 在 .NET 4 构建期间找不到 LC.exe 文件

我在迁移到.net4.0时遇到问题,在尝试构建时出现以下错误。C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1917,9):errorMSB3086:Taskcouldnotfind"LC.exe"usingtheSdkToolsPath""ortheregistrykey"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MicrosoftSDKs\Windows\v7.0A".MakesuretheSdkToolsPathissetandthetoolexist