草庐IT

extensibility

全部标签

c# - 可扩展的 WPF 应用程序 - MEF、MAF 或简单加载?

(我知道其他MEF/MAF问题,但这是一个更具体的问题)我想创建一个基本上只是一个简单的加载项主机、GUI和设置的WPF应用程序。所有实际工作将由一个或多个插件完成。它们之间不需要通信,主应用程序会向它们发送用户输入/命令,它们会返回一些结果(例如,要呈现的WPFUI元素)。现在,由于应用程序的核心将基于插件,我需要选择一种好的方式来管理它们。我希望能够在运行时加载/卸载/重新加载它们(例如,当找到并下载更新时)。为了稳定性和安全性,它们可能应该在自己的应用程序域和/或进程中运行。通过一些研究和实验,我得出了三个选择:System.Addin(MAF):看来这可以满足我的所有需求。有一

c# - 使用 Reactive Extensions 重新排序事件

我正在尝试对在不同线程上无序到达的事件进行重新排序。是否可以创建与这些弹珠图相匹配的响应式扩展查询:s11234s21324result1234和...s11234s24321result1234即:只按版本号顺序发布结果。我得到的最接近的是每次s1滴答时使用Join打开一个窗口,并且仅当s2以相同的数字到达时才关闭它。像这样:varpublishedEvents=events.Publish().RefCount();publishedEvents.Join(publishedEvents.Scan(0,(i,o)=>i+1),expectedVersion=>publishedEv

c# - 如何使用 Reactive Extensions 使用最大窗口大小来限制事件?

场景:我正在构建一个UI应用程序,每隔几毫秒从后端服务获取通知。收到新通知后,我想尽快更新UI。因为我可以在短时间内收到很多通知,而且我总是只关心最新的事件,所以我使用了ReactiveExtensions框架的Throttle()方法。这让我可以忽略紧跟新通知的通知事件,因此我的UI保持响应。问题:假设我将通知事件的事件流限制为50毫秒,并且后端每10毫秒发送一次通知,则Thottle()方法将永远不会返回事件,因为它会一次又一次地重置其滑动窗口。在这里,我需要一些额外的行为来指定诸如超时之类的东西,以便在事件吞吐量如此之高的情况下,我每秒至少可以检索一个事件。我如何使用Reacti

c# - 使用 Reactive Extensions 在 TextChanged 上搜索

我试图在包含10000多条记录的数据库表上实现即时搜索。搜索在搜索文本框内的文本发生变化时开始,当搜索框变空时我想调用一个不同的方法来加载所有数据。此外,如果用户在加载另一个搜索结果时更改搜索字符串,则应停止加载这些结果以支持新搜索。我像下面的代码一样实现了它,但我想知道是否有更好或更干净的方法来使用Rx(react性扩展)运算符,我觉得在第一个可观察对象的订阅方法中创建第二个可观察对象是命令式多于声明式,if语句也是如此。varsearchStream=Observable.FromEventPattern(s=>txtSearch.TextChanged+=s,s=>txtSear

c# - Reactive Extensions (Rx) 可以跨进程或机器边界使用吗?

依稀记得很久以前看到过一些关于这个的讨论,但从那以后就再也没有听到过任何消息。那么基本上您可以在远程机器上订阅IObservable吗? 最佳答案 您可以使用IObservable.Remotable通过.NETRemoting直接从其他机器使用可观察对象。 关于c#-ReactiveExtensions(Rx)可以跨进程或机器边界使用吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questi

c# - 为什么 Reactive Extensions 在编译时向微软发送 HTTP GET?

我从这个站点下载了ReactiveExtensionsv1.0SP1的稳定版本http://msdn.microsoft.com/en-us/data/gg577610,我在.NetFramework3.5环境(VisualStudio2008)中使用它我尝试在一个项目中使用ReactiveExtensions,发现启动速度非常慢。转到LinqPad,我输入了以下“C#表达式”:(newint[0]).ToObservable()我还引用了System.Reactive.dll并导入了System.Reactive.Linq命名空间。当我运行它时,编译和运行需要12秒。我打开Proce

c# - 管理 Application Insights Cookie

我想知道应用程序洞察力如何与cookie一起使用,因为我想了解用户和session跟踪,所以我一直在研究并...这里简单介绍一下这个理论:WheneverApplicationInsightsSDKgetarequestthatdoesn’thaveapplicationinsightsusertrackingcookie(setbyApplicationInsightsJSsnippet)itwillsetthiscookieandstartanewsession.(fromapmtips)2.UserTelemetryInitializerupdatestheIdandAcquis

c# - 如何: Use async methods with LINQ custom extension method

我有一个LINQ自定义扩展方法:publicstaticIEnumerableDistinctBy(thisIEnumerableitems,Funcproperty){returnitems.GroupBy(property).Select(x=>x.First());}我是这样使用它的:varspc=context.pcs.DistinctBy(w=>w.province).Select(w=>new{abc=w}).ToList();但问题是我不想要ToList()我想要这样的东西varspc=awaitcontext.pcs.DistinctBy(w=>w.province).

c# - 如何关闭 resharper 中的 "Convert Extension Method to Plain Static"自动重构?

在使用Resharper时,由于某些原因,当我调用扩展方法时,它会自动将其转换为静态方法调用。这就是所谓的ConvertExtensionMethodtoPlainStatic重构。foo.Bar()成为MyStaticExtensions.Bar(foo);具有讽刺意味的是,它随后将此标记为代码异味。我该如何关闭它? 最佳答案 Resharper的IntelliSense中嵌入了此功能。我经常使用Linq-to-sql扩展,所以我禁用了这个功能:Resharper-选项-IntelliSense-启用RadiobuttonVisu

c# - 如何使用 Serilog 和 AutoFac 在控制台应用程序中获取 Microsoft.Extensions.Logging<T>?

我们在ASP.NETCore应用程序中有常见的BL类,这些类在ctor中:Microsoft.Extensions.Logging.ILogger在ASP.NETCore中,ASP.NET的内部基础结构通过LoggerFactory处理获取ILogger。.我们现在想在控制台应用程序中重用这些BL类(用于异步作业),我们如何设置AutoFac和Serilog以注入(inject)Microsoft.Extensions.Logging.ILogger在LoggerFactory的环境中不存在? 最佳答案 Microsoft.Exte