Tag: visual studio 2013

winforms的异步加载

在(Android)应用程序中,在用户与界面交互时加载和构建ListView是很常见的。 然而,在Winforms中,趋势似乎是在用户可以继续浏览应用程序之前单击按钮并等待结果完全加载。 由于我目前使用的数据库访问速度很慢,我想在异步方法中使用数据库,以使用户能够与接口保持交互,而数据未完全加载和显示。 例如,我想在我的Form_Load事件中启动一个异步方法来继续收集数据。 当此方法完成时,我想将数据绑定到某些控件 – 这将(暂时)不会更改function。 因此,我希望用户在处理应用程序时不要注意到任何差异(除了显示或不显示数据)。 我应该在哪里放置await关键字来实现这一目标? 我不能将它放在我的Load事件中,因为这需要完成以使应用程序“正常”运行。 甚至可以使用异步方法让Windows窗体完全反应,而不是所有方法都完成,或者我是否正在为我的目的查看“错误”function? 先感谢您。 编辑:在Srirams提示之后,我将load-event本身设为异步子,效果很好。 这是一些显示所需行为的简单示例代码: Public Class DelayedLoadingWindow Private Async Sub DelayedLoadingWindow_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim awaitedResultOne As Task(Of String) = GetDataOneAsync() Label1.Text = Await awaitedResultOne Dim awaitedResultTwo As Task(Of String) = GetDataTwoAsync() Label2.Text = Await GetDataTwoAsync() Dim awaitedResultThree As Task(Of String) […]

WinForms应用程序不运行外部Visual Studio

我在Windows 7旗舰版的新笔记本电脑上使用Visual Studio 2013,C#,Windows Forms应用程序。 从VS内部,如果我构建并运行我的应用程序,它打开正常(没有错误或警告)。 如果进入调试文件夹并双击exe文件,则该应用程序无法打开。 它出现在任务管理器中,但我无法杀死它。 我没有收到任何错误消息。 因为它正在运行,所以当文件正在使用时,我无法再从VS构建或运行项目。 我尝试了Building to Release并遇到了同样的问题。 摆脱任务管理器的唯一方法是重启笔记本电脑。 这在我的旧PC上也不是问题 – 它也有Win7 Ultimate和VS2013。 你知道为什么我的exe没有运行,为什么我不能在任务管理器中杀死它? 任何帮助,将不胜感激。

如何断言方法具有指定的属性

是否可以将解决方案概括为适用于任何类型? 有一个很好的解决方案来断言方法上是否存在指定的属性: public static MethodInfo MethodOf( Expression expression ) { MethodCallExpression body = (MethodCallExpression)expression.Body; return body.Method; } public static bool MethodHasAuthorizeAttribute( Expression expression ) { var method = MethodOf( expression ); const bool includeInherited = false; return method.GetCustomAttributes( typeof( AuthorizeAttribute ), includeInherited ).Any(); } 用法如下: var sut = new SystemUnderTest(); var y = MethodHasAuthorizeAttribute(() => […]

每个WCF项目VS2013上的WcfSvcHost.exe访问冲突exception

我在VS2013中有这样的问题: 每当我尝试调试WCF库项目时,我在启动时都会收到错误: WcfSvcHost.exe中发生了未处理的“ System.AccessViolationException ”类型exception。 即使在尝试从模板调试新的WCF项目时也是如此 – 不起作用。 事件查看器: .NET运行时exception 应用程序:WcfSvcHost.exe 版本:v4.0.30319 例外:System.AccessViolationException 堆: in System.Net.UnsafeNclNativeMethods.SetFileCompletionNotificationModes(CriticalHandle handle, FileCompletionNotificationModes modes) in System.Net.HttpListener.CreateRequestQueueHandle() in System.Net.HttpListener.Start() in System.ServiceModel.Channels.SharedHttpTransportManager.OnOpen() in System.ServiceModel.Channels.TransportManager.Open(TransportChannelListener channelListener) in System.ServiceModel.Channels.TransportManagerContainer.Open(SelectTransportManagersCallback selectTransportManagerCallback) in System.ServiceModel.Channels.HttpChannelListener`1.OnOpen(TimeSpan timeout) in System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) in System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout) in System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) in System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout) in System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) in Microsoft.Tools.SvcHost.ServiceHostHelper.OpenService(ServiceInfo info) in Microsoft.Tools.SvcHost.ServiceHostHelper.OpenService(System.String) in […]

如何快速将数据库中的数据导入对象列表(使用entity framework)

我在entity framework对象上使用linq语句将数据从数据库中获取到对象列表中。 我的问题是表现不错,表现得很好。 对于我处理的几百或几千行,它需要几秒钟。 我将在下面进一步介绍一个代码示例,但首先我要解释为什么我将数据放入对象列表中,之后我会回答我的问题: 我将数据放入对象列表中以轻松访问数据,并填充网格视图,填充combobox,并能够使用其他方法进行对象内部的计算和数据收集。 因为我很确定这个用例并不是那么少而且我得到的性能真的是abmyssal我认为我要错误地使用EF,错误地执行linq语句或者我的设计思想的一部分是完全错误的。 所以我的问题是我可以做些什么来提高性能(或者我是否需要将我的设计理念完全抛到窗外并完全不同……如果是这样的话)? 代码示例: 对象存储在数据层中的对象类中,数据层内部也有数据收集方法(如果这里有错误,请告诉我,因为我正在从内存中输入此内容): public class myobject { public id; public name; public static List GetData() { using (myentities entity = new myentities()) { List resultList = (from e in entity.mytable select new myobject{ id=e.id, name=e.name}).ToList(); } } } 当我调用myobject.GetData()几次例如填充3个combobox时,问题是对于几十个条目,每个条目几乎需要半秒钟。 如果我有几千个条目超过1秒。 尝试了一下后,我发现即使是使用(因此创建新的连接)并没有真正产生影响,性能真正源于我如何使用/获取对象列表(linq应该生成的sql和我一样快通常期望我在sql server maanagement studio中这样做。 更新我做了一些测试,也有点奇怪:当我使用String而不是一个对象时,它仍然很慢并且ToList本身需要太长时间。 例如,如果我取回68个条目则需要1.7秒。 其中0.5是ToList方法(这种现象很明显,因为数据仅在调用tolist时准备和收集,但是1.7秒之前只有几k的数据行太长)。 public […]

Awesomium如何在不重新下载的情况下保存加载的图像

如何在Awesomium浏览器中将加载的图像复制或保存到本地磁盘而不重新下载? 有一种下载图像的方法: http://docs.awesomium.net/html/M_Awesomium_Windows_Controls_WebControl_SaveImageAt.htm 但它有两个问题: 它重新下载图像。 它显示一个弹出窗口来保存图像,我不想要它。 此外,javascript中的每一种方式都会重新下载目标图像! 解决办法是什么? 我们如何从缓存文件夹中获取下载的图像?

c#Intellisense VS2013工具提示不显示XML注释(我试试全部)

我阅读了有关intellisense问题的所有问题,但我的intellisense不起作用。 Visual Studio Ultimate 2013 我不使用任何扩展,如Resharper,ghostdoc等 有关自定义类而非自定义类的所有XML文档文件都位于starter项目的/ bin文件夹中。 ( 构建 – > 生成XML文档是ON ) 我通过对象浏览器可以浏览所有文档 Intellisense不显示有关的工具提示信息。 NET类 / EF / Identity也是如此 Intellisense仅显示有关摘要自定义类的工具提示信息,但不显示参数/返回等。 工具 – > 选项 – > 文本编辑器 – > C# – >选中参数信息和自动列表成员 所以,我不知道错误在哪里:/如果有人知道我非常感激。 谢谢你的时间

在ASP.NET MVC中调用Visual Studio 2013中的“全部中断”时,有没有办法隐藏“源不可用”选项卡?

正如在此问题中描述的那样, 是否可以在Visual Studio 2010中编辑和继续而不暂停执行? , 编辑和继续可以与Break All结合使用,基本上可以重新加载呼叫。 问题是,当我在ASP.NET MVC应用程序中调用Break All时,它将显示“Code not running”选项卡。 如果有一种方法可以不显示该选项卡,或者只是将注意力集中在我调用Break All的选项卡上,那就太棒了,这样我就可以立即继续进行我的更改。 我在网上找到的大多数解决方案建议使用Ctrl – ,但这不适用于该选项卡。 我找到的唯一方法是使用Ctrl F4关闭它,但这感觉不对。 也许这是由ASP.NET或Visual Studio 2013引起的,但现在似乎没有一种好方法可以做到这一点。 在使用ASP.NET MVC时,你们是如何重新加载代码的? 你使用Debug和Continue吗? 如果是这样,有没有办法禁用那个烦人的弹出选项卡? 或者我应该只禁用编辑并继续?

即使Roslyn Diagnostic Analyzer出现了一些错误,编译仍然成功

DiagnosticAnalyzer是一个基于Roslyn的自定义扩展,其DiagnosticDescriptor与DiagnosticSeverity.Error如下所示 internal static DiagnosticDescriptor Rule = new DiagnosticDescriptor(DiagnosticId, Description, MessageFormat, Category, DiagnosticSeverity.Error); 当使用扩展时,它确实显示了针对诊断分析器自定义规则的代码的红色波形,强调它是一个错误 ,它甚至显示在Visual Studio的错误列表窗口中。 但是在编译时 ,此代码在Visual Studio的输出窗口中获取编译成功消息。 这违背了将错误强调为诊断分析器严重性的整个概念。 如果这是Roslyn的默认工作方式,那么我们是否有办法停止编译 。 我正在使用: Visual Studio 2013 Update 3 Roslyn最终用户Preview.vsix 包含使用Roslyn SDK Project Templates.vsix制作的DiagnosticAnalyzer的VSIX扩展

SSRS – 打开DataSet属性Windows崩溃Visual Studio 2013

我在MVC框架中有Web应用程序,里面有SSRS报告.. 我在我的应用程序中设计了几个.rdlc报告。 从昨天开始,当我在新报告中打开report Wizard或在现有报告中打开Add new Dataset时,visual studio停止工作。 但是当我打开备份项目(两天前备份)时,它工作正常..它允许添加新数据集或在其中使用正确的报告向导.. 所以我认为在我当前的项目中有一些设置已经改变(可能在.csproj文件中) 那么我需要在我的应用程序中更改哪些设置… 谢谢…