我咨询的公司正在寻求切换到由.NET Micro Framework提供支持的设备,以便我们能够更快地将设备推向市场.至少在理论上,这个想法是用C#而不是C或汇编进行编码会更快,更容易出错.就像我说的那样,这个理论,因为我从未编写过嵌入式设备.
我的问题如下:
谢谢.
我正在优化WinForms应用程序的启动.我发现的一个问题是加载了启动画面.它需要大约半秒到一秒.
我知道多线程在UI片段上是禁止的,然而,看看启动画面是一个相当独立的应用程序片段,是否有可能以某种方式通过抛出其他一些线程来缓解其性能损失(可能在Chrome的方式),以便应用程序的重要部分实际上可以开始.
我已经阅读了很多关于VS2010比VS2008更高性能的东西.当我最终安装它时,我发现它实际上要慢得多(除了Add References对话框).
例如,Silverlight项目需要两倍的加载时间,IDE本身的启动速度要慢得多......等等......
我在这里错过了什么或者对每个人都这样吗?
规格:WinXP-32bit,3.5GB RAM,7200RPM驱动器,NVIDIA QUadro NVS 285 128MB,Cure2Duo E4400 @ 2GHz,支持PAE.
我正在对客户工作站上的问题进行故障排除,发现令我惊讶的adodb.dll是,在客户的工作站上无处可寻.
通常,我在文件C:\Program Files\Microsoft.NET\Primary Interop Assemblies夹中看到该文件.
此文件是否随.NET框架一起分发?
我正在编写一个Windows Phone 7应用程序,并且与我的屏幕一样大,我想将设计器与XAML编码窗口分开并将其扔到另一个屏幕上.
可能?
我想加载测试ASP.NET Web服务.我有Visual Studio 2008专业版和Visual Studio 2010.
这些产品中的任何一个都能促进负载测试吗?我似乎无法找到任何东西,谷歌的所有回报都是Visual Studio的高端版本.
如果没有,有什么替代方案.
或者更好的是,是否有一个产品,我可以提供它一个IIS日志,它将基本上重播它?
我有以下丑陋的代码:
if (msg == null ||
msg.Content == null ||
msg.Content.AccountMarketMessage == null ||
msg.Content.AccountMarketMessage.Account == null ||
msg.Content.AccountMarketMessage.Account.sObject == null) return;
Run Code Online (Sandbox Code Playgroud)
有没有办法在C#中检查空值,以便我不必检查每个单独的级别?
我继承了许多项目的巨大解决方案.这些项目中的每一个都引用了大量的旧学校DLL程序集,Nuget包等等.一些参考文献具有不同的版本.例如,我得到了Newtonsoft.Json v8.x,9.x,10.x.因此,您可以想象构建会生成大量警告,并且web.config文件具有大量绑定重定向.
我真的想要清理这一切.有没有办法让Visual Studio(或其他工具)识别来自不同版本的相同引用?
PS 下面的代码工作正常。问题出在显示器和椅子之间。@jpgrassi 的回答让我朝着正确的方向解决了这个问题。
我在 program.cs 中有以下内容:
public class Program {
public static void Main(string[] args) {
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseSerilog((ctx, config) => { config.ReadFrom.Configuration(ctx.Configuration); })
.UseStartup<Startup>();
}
Run Code Online (Sandbox Code Playgroud)
在 appsettings.json 中:
{
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Default": "Information",
"Microsoft": "Information",
"System": "Information"
}
},
"WriteTo": [
{
"Name": "RollingFile",
"Args": {
"pathFormat": "log-{Date}.txt",
}
}
]
},
"AllowedHosts": "*"
}
Run Code Online (Sandbox Code Playgroud)
在控制器中,我写了一个日志_logger.LogWarning("foo");,但文件没有在任何地方写出,我看不到任何错误。
我从 Nuget 导入了以下包:Serilog、Serilog.AspNetCore、Serilog.Settings.Configuration、Serilog.Sinks.RollingFile。
我错过了什么?
从我的ASP.NET Core 2.2应用程序中,我不得不调用一个第三方库,该库易于将CPU推到100%并基本上挂起了计算机-每月至少发生两次。我无权访问源,供应商也不会修复它。
我对这个问题的解决方案是在.NET Framework 4.x Web服务中隔离此第三方库,在该服务中我可以调用Thread。如果发现问题,则中止该线程。将其隔离在.NET Framework服务而不是.NET Core中的原因是因为后者不支持Thread.Abort。当前的解决方案虽然不理想,但可以使用。甚至知道Thread.Abort都可能导致不稳定(到目前为止)。
由于性能原因,我宁愿不要将库隔离。但是到目前为止,我还没有找到一种方法来杀死.NET Core项目中的失控线程(或Task)。
我可以使用哪些替代方案?
c# ×6
.net ×2
.net-2.0 ×2
asp.net ×2
asp.net-core ×2
.net-core ×1
adodb ×1
distribution ×1
frameworks ×1
load-testing ×1
performance ×1
serilog ×1
winforms ×1
xaml ×1