草庐IT

path-to-project

全部标签

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# - 如何使用 LINQ to SQL/ADO.NET 获取执行计划

是否可以通过编程方式获取LINQtoSQL或ADO.NET查询的执行计划以显示在调试信息中?如果是,怎么办? 最佳答案 当然,您需要两样东西。DbConnection、DbCommand和DbDataReader的自定义实现。您可以使用它来拦截所有发送到数据库的SQL。您基本上设置了它,所以您有一个记录所有运行的SQL的层。(我们计划在未来几个月内开源这方面的东西,敬请期待)一种显示数据意义的方法,恰好在这里是开源的:https://data.stackexchange.com/stackoverflow/s/345/how-uns

c# - 在 iPad 上重用 C#-Project

我正在尝试将现有的C#-WPF项目移植为iPad应用程序。据我所知,最好的方法是使用MonoTouch并尽可能多地重用C#-Logic。由于原始项目是用WPF为实际的TabletPC编写的,我的问题是,如果有任何方法,可以重用WPF源代码或至少最小化我必须重新编写的部分。如果有MonoTouch的任何好的替代品,我也将不胜感激:)更新:您的评论很有帮助,但并非100%符合我的要求。MonoCross看起来不错,但据我了解,它只是“隐藏”了特定于iOS的部分。我真正喜欢的是一种重用手写“特殊”WPF控件的方法。(或者至少尽量减少转移它们的工作/时间。)这太棒了。更新2:也许我应该补充一点

c# - 在带有 Project.Build 的程序中使用 2013 msbuild

我们的测试使用Microsoft.Build.Evaluation.Project.Build构建项目。适用于VS2010和2012。问题出在VS2013,它从msbuild中获取C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exever4.0.30319.18408而不是来自VS2013C:\ProgramFiles(x86)\MSBuild\12.0\Bin\MSBuild.exever12.0.21005.1有什么方法可以让它获取VS2013msbuild?可能是在调用构建方法之前添加到.proj文件或设置环境值?

c# - LINQ To 对象 GroupBy 方法

LINQToObjectsGroupBy方法如何工作?它会为每个键查看整个集合吗?有什么方法可以告诉GroupBy方法集合已排序吗? 最佳答案 GroupBy,如果处理得当,将只在一次前向传递中起作用。基本实现(不是他们的)将可比到:vardata=newDictionary>(comparer);foreach(variteminsource){varkey=keySelector(item);Listlist;if(!data.TryGetValue(key,outlist)){data.Add(key,list=newList

c# - Linq To SQL 选择动态列

是否可以动态限制从LINQtoSQL查询返回的列数?我有一个包含50多个列的数据库SQLView。我的应用程序有一个包含50多个属性的域对象,每列一个。在我的winforms项目中,我将域对象列表绑定(bind)到网格。默认情况下,只有少数列可见,但用户可以打开/关闭任何列。用户提示网格加载时间太长。我捕获了LINQ生成的SQL查询,然后在SQLServerManagementStudio中执行它并验证了它的速度。如果我更改SQL语句,删除所有不可见的列,它几乎会立即运行。性能与查询中的列数直接相关。我想知道是否可以动态更改从LINQ生成的SQL查询返回的列数?例如,这是我的代码目前的

c# - Azure 存储 : 403 Server failed to authenticate the request

我在此处和Google中进行了搜索,但找不到解决方案。我想使用我的C#代码从Azure存储Blob中读取文件。代码(仅6行)在另一个项目(Windows8.1通用应用程序)中运行良好,但在我的新Windows10UWP应用程序中运行不佳。这是我的代码:CloudStorageAccountstorageAccount=CloudStorageAccount.Parse(azureConnectionString);CloudBlobClientblobClient=storageAccount.CreateCloudBlobClient();CloudBlobContainercont

c# - 将 WAV 录制到 IBM Watson Speech-To-Text

我正在尝试录制音频并立即将其发送到IBMWatsonSpeech-To-Text进行转录。我已经使用从磁盘加载的WAV文件测试了Watson,并且成功了。另一方面,我还测试了从麦克风录音并将其存储到磁盘,效果也很好。但是当我尝试使用NAudioWaveIn录制音频时,Watson的结果是空的,就好像没有音频一样。谁能对此有所启发,或者有人有一些想法?privateasyncvoidStartHere(){varws=newClientWebSocket();ws.Options.Credentials=newNetworkCredential("*****","*****");awai

c# - Visual Studio /ReSharper : How to wrap long lines with commas before params?

我一直在使用ReSharper自定义我的格式设置以进行代码清理。到目前为止,我已经能够使清理规则与我的编码风格相匹配:ReSharper->选项->语言->C#->格式样式有一件事我还没有弄清楚如何做,那就是如何让参数/字段/列表项用前导逗号而不是尾随逗号包裹。我想要的例子:varlist=newList{"apple","banana","orange"};我目前得到的例子:varlist=newList{"apple","banana","orange"}; 最佳答案 (不是答案,但这不适合发表评论。)有些人喜欢前导逗号而不是尾

c# - 使用 Linq to Entity 删除多行的有效方法?

您好,我正在寻找一次删除多条记录的有效方法。我要删除400条记录,需要8-15秒。这是我的代码using(varentities=newEntity()){foreach(Itemiteminentities.Items.Where(x=>x.id==id))entities.DeleteObject(item);entities.SaveChanges();} 最佳答案 您可以使用EntityFramework.Extensions更快地完成它1)首先使用NuGet安装EntityFramework.Extensions2)下面是