Tag: c#

如何在NEST2中更新Elasticsearch文档

我已将我的代码移植到NEST 2.0和Elasticsearch 2.0 我需要找到一种方法来更新已存储到ES2中的文档 我正在使用部分对象技术 : elastic.Update(u => u .Index(myIndexName) .Id(id) .Doc( new myPartialDocumentType() { // set the fields to update here }) .Refresh()); 如何使用NEST2做同样的事情?

有没有一种简单的方法可以通过C#中的扩展来确定文件是什么?

有没有一种简单的方法可以通过C#中的扩展来确定文件是什么? 例如,如果我传递文件扩展名“.txt”,那么它将返回“文本文档”,或者如果我传递“.pdf”,它将返回“Adobe Acrobat Reader”。 我在Windows“资源管理器”的“类型”列下看到了这种行为。 有没有办法在C#中模仿这个?

Observable.ObserveOn()似乎没有效果

我试图使用Rx并行处理项目。 似乎我不能告诉Rx并行运行我的观察者的OnNext()。 这是测试代码来演示 [Test] public void ObservableObserveOnNewThreadRunsInParallel() { Console.WriteLine(“Starting thread: {0}”, Thread.CurrentThread.ManagedThreadId); // store items as they are output var list = new List<Tuple>(); // used to wait until a sequences are complete var ev = new AutoResetEvent(false); // try these schedulers var schedulers = new[] { Tuple.Create(“ThreadPoolScheduler.Instance”, (IScheduler)ThreadPoolScheduler.Instance), Tuple.Create(“NewThreadScheduler.Default”, (IScheduler)NewThreadScheduler.Default), Tuple.Create(“TaskPoolScheduler.Default”, (IScheduler)TaskPoolScheduler.Default), Tuple.Create(“Scheduler.Default”, (IScheduler)Scheduler.Default), […]

在LINQ查询中使用Func

我有一个Func存储在CompareProductItemVendorIds 。 我想在LINQ查询中使用该表达式。 看来以下是合法的: var results = Repository.Query().Where(CompareProductItemVendorIds); 但是,以下内容不合法: var results = from v in Repository.Query() where CompareProductItemVendorIds(v) select v; 此代码产生错误: LINQ to Entities中不支持LINQ表达式节点类型“Invoke”。 问题: 为什么这些陈述如此不同以至于我的Func在一个而不是另一个合法? 我以为他们基本上都做了同样的事情。 我怎样才能做到这一点? 我是否必须明确地将我的Func创建为Expression<Func> ? 请在LINQ查询中的Using Expression <Func >中查看我的相关问题。

用于C#/ .NET应用程序的沙箱中的脚本语言

[这个问题类似于这个问题,但我也对沙箱的可能性感兴趣。] 我正在考虑在我的C#/ .NET应用程序中嵌入脚本语言,然后将我的一些应用程序API暴露给脚本。 似乎有很多好的选择(Lua,Boo,IronPython等),但是有没有简单的选项限制脚本语言的内置函数被使用? 例如,我不希望脚本能够执行I / O,除非通过我明确公开的API,因此不打印到控制台,打开文件等。这些脚本语言中的任何一种都提供了一种简单的方法这个?

在不使用COM的情况下从C ++调用C#方法

有没有办法创建C#对象并从非托管C ++调用方法,但没有使用COM Iterop? 我正在寻找像JNI(但对于.Net)这样的东西,你可以手动创建VM,创建对象等。

升级NewtonSoft JSON.NET不会隐式序列化受保护的成员

我刚刚将我的NewtonSoft JSON.NET版本从3.0.0更新到3.5.0,我注意到受保护的成员没有被隐式序列化。 我有以下课程: public class SimpleFileContainer : IDto { public virtual string Name { get; protected set; } public virtual string Path { get; protected set; } public SimpleFileContainer(string name, string path) { Name = name; Path = path; } } 以下测试代码未通过 var json = JsonConvert.SerializeObject(new SimpleFileContainer(“Name”, “Path”)); var deserialised = JsonConvert.DeserializeObject(json); Assert.That(deserialised.Name, Is.EqualTo(“Name”); 除非我将属性设置为public或添加更新具有以下属性的类,否则Name和Path属性都为null: […]

System.Core.dll中发生了未处理的“System.StackOverflowException”类型exception

在我的Asp.net MVC项目中 我有一个初始化统一容器的bootsrapper。 我不知道为什么,但我明白了 System.Core.dll中发生了未处理的“System.StackOverflowException”类型exception 我已经加倍检查,只在我的初始化程序中完成注册。 所有依赖项仅在ctors中注入。 有什么可能导致这个? protected void Application_Start() { AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); Initializer.Initialize(); BundleConfig.RegisterBundles(BundleTable.Bundles); } 它在BundleConfig.RegisterBundles(BundleTable.Bundles);之后失败BundleConfig.RegisterBundles(BundleTable.Bundles); public static class Initializer { private static bool isInitialize; private static readonly object LockObj = new object(); private static IUnityContainer defaultContainer = new UnityContainer(); static Initializer() { Initialize(); } public static void Initialize() { if […]

适用于Windows窗体的可停靠自动隐藏面板控件

我正在创建一个Windows窗体应用程序,我希望SQL Server的Management Studio具有类似的外观,即左侧的一个漂亮的自动隐藏和可停靠面板。 类似的控件是Visual Studio的“工具箱”。 Management Studio的对象资源管理器是什么类型的控件? 我在哪里可以得到一个? 我在Windows Forms项目上使用.NET 3.5。 谢谢 -Matt

如何在代码中配置我的Windows服务以访问桌面?

我创建了一个Windows服务。 我想从这个服务打开一些基于Windows的应用程序。 但我的Windows服务无法启动桌面应用程序。 要启用访问权限,我必须执行以下步骤: 打开管理工具“服务” 右键单击我的服务,必须选择“属性” 然后在“登录”选项卡上,选择“允许服务与桌面交互”。 之后,我的服务可以打开所需的基于Windows的进程。 我可以在代码(C#)中配置我的Windows服务来访问桌面,这样我就不必在安装后手动更改访问权限了吗?