草庐IT

c# - 重现 "A connection that was expected to be kept alive was closed by the server."

我们在winforms应用程序中使用WebClient、.NET3.5sp1。对于一些用户来说,这个结果在消息异常中:“基础连接已关闭:服务器关闭了预期保持事件状态的连接。”在网络上搜索了一下,建议“修复”以禁用httpkeepalive,我们对此并不真正感兴趣,有人认为它可能是.NET库中的错误,等等。错误消息表明它是一个keepaliv'edhttp连接,它以某种方式被服务器(或代理)关闭,而WebClient的底层未正确检测到它。我们正在考虑捕获这个特定案例,然后再次尝试该请求。但是我们无法重现此异常。所以。我们如何才能正确捕获产生上述错误消息的情况。catch(WebExcep

c# - 持久性 ID 和域模型实体

我很好奇人们对将DAL实体的ID保留为域实体的属性,最多只读属性的想法。我的第一个想法是这样做没问题,但我越想越不喜欢这个想法。毕竟域模型应该完全不知道数据是如何持久化的,并且在每个域模型上保留和Id属性是一个不太微妙的指示。持久层可能不需要主键,或者域模型中公开的另一个属性可能是识别的合适候选者,模型编号。也许吧。但这让我开始思考,对于没有可靠方法唯一标识数据库持久层条目的域模型,在更新或删除时它们如何标识条目?基于弱引用键的字典可以解决问题;WeakDictionary.每当存储库的客户端获取DomainEntity的集合时,该字典将成为存储库实现的一部分。对实体及其持久层Id的弱

支持自定义字段的 C# ID3 库

目前我正在使用TagLibSharp,正如@stackoverflow中的一篇帖子所建议的那样,用于从mp3、flac、ogg和类似的多媒体文件中读取id3-Tag..现在我才意识到,id3v2(甚至可能是v1)支持自定义标签,但我找不到在TagLibSharp中读取/写入自定义标签的实现。有人知道支持自定义字段的库吗?基督徒---更新20100422---仍在搜索..找到此页面:http://id3.org/Implementations 最佳答案 您可以尝试添加一个新框架(而不是全新的自定义标签)。例如,如果您想将新的“Acou

c# - 为什么 Azure Mobile Apps 的数据模型中有一个字符串 ID?

我正在Azure移动应用程序中使用C#来尝试学习它们。我创建了模型以链接到我的AzureSQL数据库,创建了一个像这样的数据对象:publicclassAccount:EntityData{//publicintid{get;set;}publicstringFirstName{get;set;}publicstringLastName{get;set;}publicstringPhoneNumber{get;set;}publicstringPassword{get;set;}publicDateTimedtCreated{get;set;}publicGuidoGuid{get;s

c# - GDI+ 在基线上绘制不同大小的文本存在 off-by-1px 问题

我需要打印数字,通过增加字体大小和粗细来强调中间的一些数字。在下面的示例中,强调了456。使用的字体和两种大小是用户可配置的。当前代码使用对Graphics.DrawString(...)的三个调用来完成此操作。我遇到的问题是,对于大多数字体,我看到偏移1像素的问题(相对于灰线,456比其他数字高一个像素):我在帖子底部附上了一些针对各种字体的调试转储(BobPowell公式)。其他技术产生了类似的结果。为了在公共(public)基线上打印文本,需要计算特定字体的基线偏移量。我尝试使用三种技术:首先是MSDN的代码:http://msdn.microsoft.com/en-us/lib

c# - 我应该用 TraceSource.TraceEvent 方法中的 id 参数来识别什么?

我使用TraceSource用于登录我的.NET项目的类。然而,我一直不清楚的一点是,TraceEvent中的id参数的意图是什么?方法。目前,我总是将它设置为0。但是它的预期用途或典型用途是什么?我能想到几种可能性:它是事件发生的ID(即同一行代码在每次执行时产生不同的ID);它是方法调用的ID(即您可以从ID推断代码行);它是一系列类似事件的ID(例如,表示数据库不存在的所有错误消息共享相同的ID);它是与逻辑操作相关的一组事件的ID,结合TraceEventType.(Start|Stop|Suspend|Resume|Transfer)枚举值; 最佳

c# - 无法通过对象 ID 查找 MongoDB C# 驱动程序?

使用MongoDBC#驱动程序(http://github.com/samus/mongodb-csharp),我似乎无法通过ObjectId获取数据。在我使用的命令下方:varspec=newDocument{{"_id",id}};vardoc=mc.FindOne(spec);我也试过这个:varspec=newDocument{{"_id","ObjectId(\""+id+"\")"}};vardoc=mc.FindOne(spec);两者都不返回任何内容。同时,如果我从mongo控制台查询它,它会返回预期的结果。我的问题是,该驱动程序是否真的支持通过ObjectId进行查找

c# - 防止 ORDER BY 子句中的 SQL 注入(inject)

在我们的数据库访问层中,我们有一些动态查询创建。例如,我们有以下方法来构建ORDERBY子句的一部分:protectedstringBuildSortString(stringsortColumn,stringsortDirection,stringdefaultColumn){if(String.IsNullOrEmpty(sortColumn)){returndefaultColumn;}returnString.Format("{0}{1}",sortColumn,sortDirection);}问题是,sortColumn和sortDirection都是来自外部的字符串,所以当

ID3 决策树的原理、构造及可视化(附完整源代码)

目录一、本文的问题定义和(决策树中)信息熵的回顾①本文的问题定义②(决策树中)信息熵的回顾二、ID3决策树的原理及构造三、ID3决策树的可视化源码(含构造过程)四、ID3决策树可视化的效果及测试结果①ID3决策树可视化的效果②ID3决策树的文本化结果和用例的测试结果五、ID3算法的优缺点说明:1、第一节至第三节来源于《机器学习及应用》李克清时允田主编一书,大约在57页的位置。2、源代码部分是我根据书中原理并参考源码后,自己重写。其中,源代码中的变量的定义对应第二节介绍的原理部分的数学符号,以便于适合对应学习。源代码中的注释是根据自己的理解所写。3、本文是自己的学习过程的记录,还望读者海涵。如果

c# - 如何从 Entity Framework 6 中的 Auditlog 实体获取 ID

我知道那里有几篇类似的帖子,但我找不到任何解决此问题的帖子。我想在EntityFramework6中添加、更改或删除实体(软删除)时添加(某种)AudioLog。我已经覆盖了SaveChanges,因为我只想为添加、修改的EntityStates添加日志条目或已删除,我会在第一次调用SaveChanges之前获取列表。问题是,因为我需要记录已执行的操作,所以我需要检查实体的EntityState。但是在调用SaveChanges之后,所有条目的EntityState都保持不变。publicoverrideintSaveChanges(){using(varscope=newTransa