小编And*_*ndy的帖子

为什么 System.Text.Json.JsonElement 没有 TryGetString() 或 TryGetBoolean()

System.Text.Json我正在使用返回对象的.NET Core 命名空间解析一些 JSON 数据JsonElement

例如,对于 Int32 类型,JsonElement有一个GetInt32()将值作为整数返回,如果不是整数则抛出异常,还有一个TryGetInt32()将解析后的值复制到out变量并返回 true 或 false,具体取决于是否它能够正确解析。

这同样适用于几乎所有其他基本类型,但由于某种原因,GetBoolean()并且GetString()没有try...等效项,即使如果无法正确解析值,它们也会抛出异常。

这似乎是一个明显的疏忽,它让我觉得我做错了什么。谁能解释为什么不需要它们?

c# json asp.net-core system.text.json

13
推荐指数
2
解决办法
8236
查看次数

用linq删除foreach里面的地方

我明白为什么不允许这样做:

foreach (Thing t in myCollection) {
   if (shouldDelete(t) {
      myCollection.Delete(t);
   }
}
Run Code Online (Sandbox Code Playgroud)

但是怎么样?

foreach (Thing t in myCollection.Where(o=>shouldDelete(o)) {
   myCollection.Delete(t);
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会失败."Where()"方法显然不会返回原始集合,因此当我尝试从中删除某些内容时,我不会枚举原始集合.

.net c# linq where

12
推荐指数
4
解决办法
7070
查看次数

如何获取IXmlNamespaceResolver

我正在尝试调用需要IXmlNamespaceResolver对象的XElement.XPathSelectElements()重载.谁能告诉我如何获取(或制作)IXmlNamespaceResolver?我有一个我想在查询中使用的命名空间列表

c# xml xml-namespaces

12
推荐指数
2
解决办法
6650
查看次数

visual studio文本编辑器中的"col"值是什么

在visual studio文本编辑器的底部显示"Ln X Col Y".线看起来很不言自明,可以预测,但我对"Col"有点困惑:-)

如果行中有中文字符,将光标向右移动(即一个字符)有时似乎将"Col"提前1,有时候提高2,甚至认为它们都是多字节字符.实际上是在计算什么?

这是一个辅助问题:是否有一种简单的方法可以找出一行中的字符数?

提前致谢

visual-studio-2010 visual-studio

11
推荐指数
1
解决办法
1403
查看次数

在Server 2012 R2中自动化MS Word

首先,请不要回复通用建议,不要在服务器上自动化Word或在MS网页上链接"如果你真的必须如何在服务器上自动化word".我知道这一点.

我有一个作为Windows服务运行的进程,并使用.Net OLE interop自动化Office(主要是Open和SaveAs).这段代码在使用Windows和Office版本(32位和64位)的许多组合的数百台服务器上可靠地工作了8年,所以我很高兴这种机制是可靠的.至今...

使用Server 2012 R2,它可以与PowerPoint和Excel一起使用,但无法尝试打开word文档:

System.Runtime.InteropServices.COMException (0x800A16A0): 
  The file appears to be corrupted.
   at Microsoft.Office.Interop.Word.Documents.Open...
Run Code Online (Sandbox Code Playgroud)

我到目前为止的观察结果可能相关或不相关:

  • 所有文件都失败了
  • 在Windows 8.1中正常工作
  • 在客户现场和我们的测试环境中都发生了同样的问题,因此不太可能是纯粹的环境问题
  • 我的应用程序使用.Net 3.5
  • 代码链接到2003 Interop程序集(显然后来的Office程序版本由程序集绑定重定向支持)
  • 我们已经尝试使用Office 2013 32和64位同样的结果,但没有尝试早期版本的办公室
  • 无论服务是以LocalSystem还是作为标准用户帐户运行,它都会失败
  • 如果我们在前台运行服务进程(即字面上双击可执行文件),问题就不会发生

显然我仍然有事情需要调查,但有兴趣听到其他人是否已经看到这个特定的问题,即使你还没有解决它.请注意办公自动化有很多困难和问题,所以除非你的症状与我的非常相似,否则你可能没有同样的问题.

automation ms-word ms-office office-interop

9
推荐指数
2
解决办法
1万
查看次数

iText - 如何将页面添加到使用PdfCopy创建的文档中

我正在使用iText(特别是iTextSharp 4.1.6),我想通过组合现有PDF中的页面来创建PDF,还可以插入从图像创建的新页面.

我分别使用PdfCopy和PdfWriter将这两部分分开工作.从图像创建页面的代码如下所示:

PdfWriter pw = PdfWriter.GetInstance(doc, outputStream);
Image img = Image.GetInstance(inputStream);
doc.Add(img);
doc.NewPage();
Run Code Online (Sandbox Code Playgroud)

现在,由于PdfCopy继承自PdfWriter,我认为我可以使用相同的技术将这样的"图像页面"添加到我的PdfCopy对象,但它不起作用(如果你在上面的例子中实例化PdfCopy而不是PdfWriter) ,页面上没有任何内容).

从快速查看源代码我注意到,当PdfCopy的contstructor调用超类构造函数时,它使用一个新的Document对象,而不是传入的对象,所以我想这就是原因.

有没有更好的方法来解决这个问题?目前,我最好的猜测是使用PdfWriter从图像创建单页Pdf,然后使用PdfCopy将其添加到文档中,但这似乎是一种解决方法.

pdf itext itextsharp

7
推荐指数
1
解决办法
1万
查看次数

如何检测javascript/jQuery中的双击拖动

当用户通过拖动选择一些文本时,我想在网页中检测到.但是,在Windows中有一种情况,我称之为"双击 - 拖动"(抱歉,如果已经有一个更好的名称,我不知道),我无法弄清楚如何检测它.它是这样的:

  1. 按鼠标按钮
  2. 快速释放鼠标按钮
  3. 再次快速按下鼠标按钮
  4. 按住按钮拖动

这会导致拖动选择整个单词.从用户的角度来看,这是一项非常有用的技术.

我要做的是告诉双击拖动和点击后跟单独拖动之间的区别.因此,当我进入第2步时,我将获得点击事件,但我不想将其视为点击; 我想看看他们是否即将做第3步.

据推测,Windows会根据时间和鼠标在步骤2和3之间移动了多少来检测到这一点,但我不知道它使用的参数,所以我无法复制Windows逻辑.请注意,即使鼠标在步骤2和3之间根本不移动,我仍然会收到mousemove事件.

我意识到我应该设计触摸友好和设备中立的接口,我打算支持其他设备,但这是一个针对Windows PC用户的企业应用程序,所以我想优化这种情况,如果我能.

javascript jquery javascript-events

7
推荐指数
1
解决办法
1095
查看次数

如何设置表单身份验证cookie路径

在同一个IIS网站上,我有两个名为/ foo和/ bar的ASP.NET Web应用程序.两者都使用表单身份验证,我希望用户能够独立登录和退出两个站点.

使用表单身份验证的标准配置,它似乎为表单身份验证cookie发送"/"的cookie路径.这意味着当用户登录/ bar时,它会将他从/ foo中导出,这对我来说是不合需要的行为.

显而易见的解决方案似乎是这样的:

FormsAuthentication.RedirectFromLoginPage(username, false, Request.ApplicationPath);
Run Code Online (Sandbox Code Playgroud)

这使得表单auth cookie具有允许用户独立登录/ foo和/ bar的应用程序路径:-)然而,还有一个更令人讨厌的问题:如果用户尝试登录/ Foo(使用大写字母F) ),IIS将它们定向到Web应用程序/ foo,但它们永远无法登录,因为浏览器(在这种情况下为chrome)在决定是否根据cookie路径发送cookie时区分大小写.

这似乎是每个ASP.NET Web应用程序开发人员都会面临的常见问题,但我看不到合理的解决方案.请告诉我,我错过了一些明显的东西?

谢谢

安迪

asp.net cookies forms-authentication

6
推荐指数
1
解决办法
8103
查看次数

xslt debugging将所有值显示为null

我正在使用Visual Studio 10 premium和.Net 3.5并尝试调试XslCompiledTransform.

我可以单步执行所有操作,但所有变量值似乎都显示为NULL.例如,self :: node()在locals窗口中显示为NULL; 如果我将self :: node()放入监视窗口,它会显示"无法评估表达式.指针无效"

唯一似乎有值的变量是position()和last()

.net xslt debugging

6
推荐指数
1
解决办法
277
查看次数

Javascript FileReader onerror 事件 - 如何找出错误是什么?

JavascriptFileReader对象支持onerror在出现错误时调用的处理程序,但传入的事件是 aProgressEvent并且不包含错误的任何详细信息。

我如何找出实际发生的错误?

javascript filereader

5
推荐指数
1
解决办法
2594
查看次数