在针对.NET 2.0时使用(某些)lambda表达式?

ReSharper建议我们改变: System.Net.ServicePointManager.ServerCertificateValidationCallback += delegate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; }; 成: System.Net.ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true; 它看起来更清洁。 但我们的目标是.NET 2.0。 这还是我们应该做的吗?

Response.End()vs HttpContext.Current.ApplicationInstance.CompleteRequest()

我们的应用程序的用户在白天至少两秒内下载一个附件。 以前的场景: 我们使用Response.End()在用户下载附件后中止与客户端的连接。 由于我们遇到性能问题,我们开始记录exception,其中最重复的一个是线程中止exception。 由于我们从Web服务获取附件,我们必须进行一些清理,并且我们在try-catch-finally块中进行了清理。 经过一些研究,我已经理解,即使它在finally块中,也不会执行Response.End()之后的任何代码。 是对的吗? 目前的情景: 我已经阅读了关于Response.End()的堆栈溢出中的线程是有害的,它只在真正需要时才需要使用,所以我决定使用HttpContext ….而不是CompleteRequest()。 使用此代码,完成所需的清理工作,但渲染的html将附加到下载的附件中。 我尝试覆盖同一文章中提出的Render和RaisePostBackEvent,但问题仍然存在。 有关如何解决此问题的任何想法都会有所帮助。 码: HttpContext.Current.Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader(“Content-Disposition”, “attachment; filename=” + filename); Response.AddHeader(“Content-Length”, fileContent.Length.ToString()); Response.ContentType = “application/octet-stream”; Response.BinaryWrite(fileContent); Response.Flush();

选中后,在轨迹栏控件周围隐藏虚线轮廓

在C#winforms中,是否有一种方法可以不显示在使用轨迹栏控件时显示的虚线焦点轮廓边框? 细节:这个轮廓对我来说看起来有点俗气,所以我只是为了不美观而拍摄美学。 谢谢, 亚当

DataGridView虚拟模式以简单列表作为源

之前我问过一个关于我的dataGridView性能的问题,因为它显示了大量的行,这些行是根据传入的流添加的。 给出了多个解决方案,其中一个解决方案启用虚拟模式 MSDN有一篇关于这个主题的文章,但它比我使用数据库和可编辑字段所需要的更复杂。 我的DataGridView仅用于显示,我显示的数据放在List中。 在我接受答案后,我收到了这个链接: http : //www.codeproject.com/Articles/23937/PagingANN-with havenGridView-in-VirtualMode 。 即使它使用数据库示例,它也更适合我需要的东西。 包含我要显示的数据的My List声明如下: List captureResults = new List(); ResultRow对象定义如下: /* Simplified */ public class ResultRow { private int first = 0; private string second = “”; private UInt64 third = 0; private IPAddress fourth = null; /* etc */ public ResultRow() { } public void […]

WinForms:控件的最大大小为65535 – 解决方法?

在WinForms和C#中,似乎我无法创建一个大于65535的控件。如果我将其设置为70.000,则值将重置为65535.使用ILSpy挖掘Control.Size的源代码,我无法立即找到负责的代码用于夹紧尺寸。 那么这是Win32 API还是Windows Forms的限制? 有没有办法解决这个问题,例如使用非托管互操作? 我需要如此大的控件的原因是我将非常长的音频文件的音乐波形绘制到它上面。 (是的,我可以直接绘制波形,没有包含控件;但这需要大量的重构)。 我这里不是在谈论绘图代码。 显然,只需要绘制可见部分,但事实是我想要一个宽达200.000像素的控件。

用于.NET的OLE容器

我正在开发一个项目,要求我加载一个OLE对象并在.NET WinForm应用程序(C#)中呈现它。 与VB6 .NET不同,它没有内置的OLE容器,推荐的方法是使用支持显示ActiveX内容的WebBrowser控件。 我遇到的问题是有问题的OLE对象的提供者没有可用的ActiveX控件。 简单地说有没有办法将OLE对象加载到WinForm上? 或者我需要编写一个加载OLE对象的ActiveX控件吗? 如果是后者,有没有人有这样的例子或推荐的阅读材料? 干杯, 渣。

在C#中使用NetNamedPipeBinding获取EndpointNotFoundException; 需要创建全局命名管道

我正在运行一个Windows服务,我通过NetNamedPipeBinding发送消息。 消息从客户端应用程序发送,该应用程序由GPO触发。 我刚刚在新服务器上安装了服务和客户端,我收到以下消息: System.ServiceModel.EndpointNotFoundException: There was no endpoint listening at net.pipe://localhost/VOXAServices/VOXADefaultPipe that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details. 没有内在的例外。 如果我通过双击桌面上的图标来运行客户端应用程序,它运行没有问题。 我管理Windows服务和客户端应用程序的代码,所以我可以改变我需要的任何东西。 但到目前为止,我非常确信绑定,合同和地址都是正确的(因为从桌面运行时一切运行正常)。 我认为问题必须是从GPO运行客户端应用程序。 但我想不出有什么理由会导致这个错误。 更新: 我在微软的网站上看到了这个: 命名管道是Windows操作系统内核中的对象,例如进程可用于通信的共享内存部分。 命名管道具有名称,可用于单台机器上的进程之间的单向或双工通信。 当在一台计算机上的不同WCF应用程序之间需要通信,并且您希望阻止来自另一台计算机的任何通信时,请使用命名管道传输。 另一个限制是,从Windows远程桌面运行的进程可能被限制为同一个Windows远程桌面会话,除非它们具有提升的权限。 ( 选择运输 ,增加重点) 我需要客户端进程在(非特权)用户的上下文中运行,并且弹出UAC对话框不是一个选项。 反正我是否允许此客户端进程提升权限,同时保持进程在用户上下文中运行而不是使用户具有特权? 更新#2: 似乎存在全局和本地(对于Windows会话)命名管道这样的事情。 我相信我的Windows服务正在创建一个本地命名管道,如果我可以强制它创建一个全局命名管道,它将解决我的问题。 (这解释了为什么我在sysinternals“Process […]

如何在鼠标hover上设置ComboBox背景样式?

我有一个包含ComboBox的圆形边框 当我的鼠标没有hover在Combobox的顶部时,它看起来很漂亮和透明。 像这样: 当鼠标hover在它上面时,它会生成旧的,类似Button的背景,如下所示: 我希望ComboBox具有透明背景,即使鼠标在顶部也是如此。 我尝试了各种方法,包括编写MouseEnter,MouseLeave,MouseMove以将背景设置为null,但没有成功。 private void ComboBox_MouseEnter(object sender, RoutedEventArgs e) { comboBox1.Background = null; } 然后我尝试设置样式: 这也没用。 然后我尝试修改控件模板: 最糟糕的是,在我修改控件模板后,ComboBox消失了,如下所示: 我已经尽了一切可能,但只要我的鼠标hover在我的ComboBox上,我仍然会得到那个丑陋的按钮背景。 谁知道这里出了什么问题?

在Visual Studio中对项目进行模板化

我在Visual Studio中创建了一个Windows移动应用程序。 我想将这个项目模板化,以便可以将其作为模板而不是项目打开。 这在Visual Studio中可行吗? 我读到有一种称为“VSX(Visual Studio扩展)”的东西可以达到这个目的。 我在我的系统中安装了Visual Studio Ultimate,并且正在尝试安装VS2010 SDK。 但它没有得到安装告诉我没有我显然做的MS Visual Studio 2010。 我正朝着正确的方向前进吗? 如果不是什么是正确的方法去?

C#inheritance和转换

我有以下代码,我得到以下exception“InvalidCastException:无法将’Employee’类型的对象强制转换为’EmployeeProfile’。” private class Employee { public string Name { get; private set; } public Employee() { this.Name = “employee”; } public override string ToString() { return this.Name; } } private class EmployeeProfile : Employee { public string Profile { get; private set; } public EmployeeProfile() : base() { this.Profile = string.Format(“{0}’s profile”, this.Name); } public […]