System.Text.Json我正在使用返回对象的.NET Core 命名空间解析一些 JSON 数据JsonElement。
例如,对于 Int32 类型,JsonElement有一个GetInt32()将值作为整数返回,如果不是整数则抛出异常,还有一个TryGetInt32()将解析后的值复制到out变量并返回 true 或 false,具体取决于是否它能够正确解析。
这同样适用于几乎所有其他基本类型,但由于某种原因,GetBoolean()并且GetString()没有try...等效项,即使如果无法正确解析值,它们也会抛出异常。
这似乎是一个明显的疏忽,它让我觉得我做错了什么。谁能解释为什么不需要它们?
我明白为什么不允许这样做:
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()"方法显然不会返回原始集合,因此当我尝试从中删除某些内容时,我不会枚举原始集合.
我正在尝试调用需要IXmlNamespaceResolver对象的XElement.XPathSelectElements()重载.谁能告诉我如何获取(或制作)IXmlNamespaceResolver?我有一个我想在查询中使用的命名空间列表
在visual studio文本编辑器的底部显示"Ln X Col Y".线看起来很不言自明,可以预测,但我对"Col"有点困惑:-)
如果行中有中文字符,将光标向右移动(即一个字符)有时似乎将"Col"提前1,有时候提高2,甚至认为它们都是多字节字符.实际上是在计算什么?
这是一个辅助问题:是否有一种简单的方法可以找出一行中的字符数?
提前致谢
首先,请不要回复通用建议,不要在服务器上自动化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)
我到目前为止的观察结果可能相关或不相关:
显然我仍然有事情需要调查,但有兴趣听到其他人是否已经看到这个特定的问题,即使你还没有解决它.请注意办公自动化有很多困难和问题,所以除非你的症状与我的非常相似,否则你可能没有同样的问题.
我正在使用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将其添加到文档中,但这似乎是一种解决方法.
当用户通过拖动选择一些文本时,我想在网页中检测到.但是,在Windows中有一种情况,我称之为"双击 - 拖动"(抱歉,如果已经有一个更好的名称,我不知道),我无法弄清楚如何检测它.它是这样的:
这会导致拖动选择整个单词.从用户的角度来看,这是一项非常有用的技术.
我要做的是告诉双击拖动和点击后跟单独拖动之间的区别.因此,当我进入第2步时,我将获得点击事件,但我不想将其视为点击; 我想看看他们是否即将做第3步.
据推测,Windows会根据时间和鼠标在步骤2和3之间移动了多少来检测到这一点,但我不知道它使用的参数,所以我无法复制Windows逻辑.请注意,即使鼠标在步骤2和3之间根本不移动,我仍然会收到mousemove事件.
我意识到我应该设计触摸友好和设备中立的接口,我打算支持其他设备,但这是一个针对Windows PC用户的企业应用程序,所以我想优化这种情况,如果我能.
在同一个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应用程序开发人员都会面临的常见问题,但我看不到合理的解决方案.请告诉我,我错过了一些明显的东西?
谢谢
安迪
我正在使用Visual Studio 10 premium和.Net 3.5并尝试调试XslCompiledTransform.
我可以单步执行所有操作,但所有变量值似乎都显示为NULL.例如,self :: node()在locals窗口中显示为NULL; 如果我将self :: node()放入监视窗口,它会显示"无法评估表达式.指针无效"
唯一似乎有值的变量是position()和last()
JavascriptFileReader对象支持onerror在出现错误时调用的处理程序,但传入的事件是 aProgressEvent并且不包含错误的任何详细信息。
我如何找出实际发生的错误?
c# ×3
.net ×2
javascript ×2
asp.net ×1
asp.net-core ×1
automation ×1
cookies ×1
debugging ×1
filereader ×1
itext ×1
itextsharp ×1
jquery ×1
json ×1
linq ×1
ms-office ×1
ms-word ×1
pdf ×1
where ×1
xml ×1
xslt ×1