比较两个相同结构的任意JToken-s

提前致谢。 我感谢任何帮助。 我想比较两个相同类型和结构的任意JTokens(来自NewtonSoft的Json.Net)。 static int CompareTokens(JToken x, JToken y); // possible output: 0 / 1 / -1 主要目标是能够使用此方法对两个Json字符串进行排序,这样即使在开始时它们具有相同的数据,但是顺序不同,最后这两个字符串完全相同。 所以排序标准并不重要,重要的是这个标准总是相同的。 并且应该考虑每个小数据元素。 JToken可以是以下几种类型之一: Array, Boolean, Date, Float, Guid, Integer, Null, Object, Property, String, TimeSpan, Uri 。 我没有考虑比较Bytes, Comment, Constructor, None, Undefined, Raw 。 获得一些关于比较JArrays和JObjects的想法会很棒 。 这应该是一些递归比较,因为JArrays可能包含其他JArrays和JObject ,反之亦然。 任何想法将不胜感激。 但是,了解比较更简单的类型也会非常有帮助。 我想知道如何从JToken转换为实际类型(而不是知道如何在逻辑上进行)。 JValue已实现IComparable ,但我没有弄清楚如何将简单类型的JToken转换为JValue 。 了解这一点也会有所帮助。 这是一个很常见的问题。 如果我弄清楚如何做到这一点,我会在上面放一个+100。 抱歉我的英语。

是否可以在自己的应用程序中使用Windows 7任务计划程序

我正在开发基于附加组件的应用程序。 每个附加组件都使用调度程序。 加载的附加计划任务。 我的应用程序只运行一个实例。 应用程序关闭,有时运行。 因此我需要使用Windows 7任务调度程序 如何在自己的应用程序上使用任务调度程序? 我需要从应用程序创建新任务 我需要在任务完成时,将消息发送到我的应用程序或调用我的应用程序的任何function 可能吗? 怎么做?

以编程方式在远程计算机上安装Windows服务

与https://stackoverflow.com/a/467565/774828类似,它显示了如何在远程计算机上启动和停止现有Windows服务,我正在尝试在远程计算机上安装Windows服务。 我可以启动和停止远程机器上的服务,但是我无法找到如何远程安装新服务,而无需调用sc.exe进程( https://stackoverflow.com/a/1159059/774828 )如果可能的话我想避免。 我知道有一个System.Configuration.Install.ManagedInstallerClass.InstallHelper方法,但我不能让它在远程机器上安装。 而且,我无法弄清楚我是否可以使用System.ServiceProcess.ServiceInstaller或System.ServiceProcess.ServiceProcessInstaller。

突出显示datagridview单元格中的部分文本

如何突出显示datagridview单元格中的部分文本? 我正在使用C#。 例如用户搜索书。 单元格包含书签。 我想在书签中突出显示“book”。 谢谢。 版。 这段代码好吗? Private Sub DataGridView1_CellPainting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellPaintingEventArgs) Handles DataGridView1.CellPainting If e.RowIndex >= 0 And e.ColumnIndex >= 0 Then e.Handled = True e.PaintBackground(e.CellBounds, True) Dim sw As String = GetSearchWord(e.ColumnIndex) If Not String.IsNullOrEmpty(sw) Then Dim val As String = DirectCast(e.FormattedValue, String) Dim sindx As Integer […]

在.NET 4.0中处理没有第三方库的Zip文件?

这里有类似的问题3.5: .NET 3.5中是否有内置的zip库? 推测4.0会有它,但我找不到任何关于它的信息。 如果没有,有谁知道为什么不呢? 似乎在包含支持的事物列表中会相当高。

作业不使用JobChainingJobListener链接

我有我的Quartz调度程序的当前代码: var scheduler = StdSchedulerFactory.GetDefaultScheduler(); // Job1 var Job1 = JobBuilder.Create().WithIdentity(“job1”, “group1”).Build(); // Job2 var Job2 = JobBuilder.Create().WithIdentity(“job2”, “group2”).Build(); // Triggers ITrigger trigger1 = TriggerBuilder.Create().WithIdentity(“trigger1”, “group1”).StartNow().Build() ITrigger trigger2 = TriggerBuilder.Create().WithIdentity(“trigger2”, “group2”).StartNow().WithSimpleSchedule(x => x.WithIntervalInSeconds(1).WithRepeatCount(4)).Build(); // JobKeys JobKey jobKey1 = new JobKey(“Job1”, “group1”); JobKey jobKey2 = new JobKey(“Job2”, “group2”); // Chain jobs JobChainingJobListener chain = new JobChainingJobListener(“testChain”); […]

Windows窗体应用程序C#样式

我正在Visual Studio 2008(C#)中开发Windows窗体应用程序我想在项目中添加Style。 我一直在调查一些关于它的想法,但我还没有找到关于如何做到这一点的例子。 真的有可能吗? 我的应用看起来像: 但我真的想在按钮,文本框和其他项目中添加更多样式: 我的老板坚持使用Visual Studio 2008。

Windows Phone,使用PickSingleFileAndContinue或PickMultipleFilesAndContinue选择文件

我试图为Windows手机应用程序实现文件选择器。 我需要使用FileOpenPicker从库中选择文件。 我没弄明白它是如何运作的。 这是我的代码: private readonly FileOpenPicker photoPicker = new FileOpenPicker(); // This is a constructor public MainPage() { // photoPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary; photoPicker.FileTypeFilter.Add(“.jpg”); } // I have button on the UI. On click, app shows picker where I can choose a file private void bChoosePhoto_OnClick(object sender, RoutedEventArgs e) { photoPicker.PickMultipleFilesAndContinue(); } 那么,接下来该做什么? 我想我需要获取文件对象或其他东西。 我找到了这个链接 […]

在ASP.NET中获取域用户ID

我有一个ASP.NET应用程序,员工登录到Windows,然后他们必须从一长串名称中选择他们的名字并登录到应用程序。 我想要做的是,一旦员工打开应用程序,它就会从下拉框中选择他们的名字。 我相信如果我可以在页面加载时获得Windows用户ID,那么我可以根据登录的Windows用户使我的代码选择用户。 问题是。 如何获得当前登录C#Asp.net的Windows用户ID? 有任何想法吗。

从WebBrowser控件保存图像

运行以下代码,但生成的位图向下移动大约半英寸并在底部截止。 我检查了图像的宽度和高度,它创建了一个正确尺寸的图像,只是图像内容向下移动和截止。 我很难过……任何想法? using mshtml; using System.Drawing; using System.Runtime.InteropServices; [ComImport, InterfaceType((short)1), Guid(“3050F669-98B5-11CF-BB82-00AA00BDCE0B”)] private interface IHTMLElementRenderFixed { void DrawToDC(IntPtr hdc); void SetDocumentPrinter(string bstrPrinterName, IntPtr hdc); } public Bitmap GetImage(string id) { HtmlElement e = webBrowser1.Document.GetElementById(id); IHTMLImgElement img = (IHTMLImgElement)e.DomElement; IHTMLElementRenderFixed render = (IHTMLElementRenderFixed)img; Bitmap bmp = new Bitmap(img.width, img.height); Graphics g = Graphics.FromImage(bmp); IntPtr hdc = […]