Tag: .net

Informix内存泄漏

我使用Informix遇到了一个奇怪的问题(具体来说,我使用的是IBM.Data.Informix命名空间,4.10 Client SDK)。 我使用ODBC连接到IBM Informix数据库并遇到内存泄漏问题。 文档相当稀疏,我被锁定使用我目前安装的驱动程序/ SDK。 这是我用于数据库上下文的代码: public class IfxDbContext : IIfxDbContext { private readonly string _connectionString; //private readonly IfxConnection _connection; public IfxDbContext(string connectionString) { _connectionString = connectionString; //IfxConnection conn = new IfxConnection(connectionString) {ConnectionString = connectionString}; //_connection = conn; } public IEnumerable GetItems() { var items = new List(); try { using (IfxConnection conn […]

在这种情况下警告CS3006有效吗?

下面的代码生成警告CS3006“重载方法MyNamespace.Sample.MyMethod(int [])’仅在ref或out中有区别,或者在数组级别中不符合CLS”。 这个警告是否有效,即这真的不符合CLS吗? 我原以为显式接口实现不会算作过载。 [assembly: CLSCompliant(true)] namespace MyNamespace { public class Sample : ISample { public void MyMethod(int[] array) { return; } void ISample.MyMethod(ref int[] array) { this.MyMethod(array); } } public interface ISample { void MyMethod([In] ref int[] array); } }

unit testingASP.Net Web应用程序的App_Code

我想创建一个ASP.Net Web应用程序,我想为它编写unit testing。 但我的unit testing项目在我的Web应用程序的App_Code目录中看不到任何类型。 重现步骤 (如果您已经知道如何创建默认的webforms Web应用程序并添加app_code文件夹,请跳过图像) 打开Visual Studio。 选择File-> New-> Project。 选择模板 – > Visual C# – > Web。 选择ASP.Net Web应用程序。 选择“确定”。 选择“Web窗体”。 选中“添加unit testing”。 单击确定。 在解决方案资源管理器中,右键单击Web应用程序,然后选择“添加 – >添加ASP.Net文件夹 – > App_Code”。 将新项添加到App_Code,名为“Util.cs”。 向文件添加一个函数,所以内容是: using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace WebApplication1.App_Code { public class Util { public static int getMeaningOfLife() […]

等待很长的过程并仍在更新UI

我一直在尝试创建一个写入数据库的任务,而不会阻塞UI线程。 我遇到的最大问题是等待该过程完成而不会发生阻塞。 我一直在努力避免使用DoEvents (虽然它现在经常通过这个程序使用,我想在前进时不再使用它)。 我试图创建进程以在第二个线程上运行并等待它完成以及使用BackgroundWorker 。 我遇到的问题不是代码在不同的线程中运行,而是试图找到一种等待它完成的方法。 基本上,现在我做以下事情: 连接到数据库 创建一个后台工作者(或线程)来写入数据库(我可能最终会使用BackgroundWorker所以我可以使用ReportProgress 启动线程或BackgroundWorker 使用While循环等待线程/ BackgroundWorker完成。 对于线程,我等待IsAlive变为false,对于BackgroundWorker ,我切换一个布尔变量。 我让用户知道过程已经完成。 问题在于#4。 执行一个没有代码的while循环,或Thread.Sleep(0)使UI被阻止( Thread.Sleep(0)使程序也占用100%的程序资源) 所以我这样做: while (!thread.IsAlive) Thread.Sleep(1); -要么- while (bProcessIsRunning) Thread.Sleep(1); 它会阻止UI。 如果我在那里调用Application.DoEvents() ,UI会更新(虽然它是可点击的,所以我必须在此过程运行时禁用整个表单)。 如果我同步运行该进程,我仍然需要创建某种方式来更新UI(在我看来,一个DoEvents调用),所以它似乎没有被锁定。 我究竟做错了什么?

Windows窗体在表格布局面板中重新排列元素

我正在开发一个带有Windows窗体作为GUI的.net系统。 我的应用程序中有一个窗口,我面临一个非常奇怪的问题。 (注意:应用程序是针对.net 4框架和windows表单项目编译的。我使用表格布局来排列表单中的所有元素)。 下面给出了Visual Studio中表单的屏幕截图。 以下是我系统中的屏幕截图(Windows 8 Pro,DELL全高清显示器)。 现在我正在构建可执行文件和DLL并将它们复制到我父亲的系统中(Windows 7,1440 X 900监视器)。 应用程序成功运行,但输出如下所示。 有两件事发生了变化。 开始日期和结束日期标签和日历都已交换(我在function上也进行了测试。开始日期不能晚于结束日期,如果是这样,则会给出错误。我已经检查了这个,并且日历被交换了太。) 显示的日期格式已更改。 注意:我在其他窗口也有这样的小问题。 有没有人遇到过这样的问题?

c#Linq选择不同的日期时间天

我有以下方法,我计划返回一堆不同的日期时间对象。 通过不同我意味着独特的日子(不包括时间)。 问题是,DateTime对象具有不同的时间,因此即使它们是同一天,也会评估为唯一。 如何让查询忽略日期的时间部分,只是为了评估唯一性的日期? public List DistinctNoticeDates() { return (from notices in this.GetTable() orderby notices.Notice_DatePlanned descending select notices.Notice_DatePlanned).Distinct().ToList(); } 谢谢。

需要viber webservice或api地址

是否有任何api或webservice通过viber通过c#.net发送消息,并获得交付? 我用谷歌搜索并找到了一个api for the wat app,但不是viber

ListView中有比我需要的空间更多的空间

我正在使用StackLayout和ListView来显示视图的某些部分,但ListView占用的空间比我需要的多,并且在列表的最后一行和配置文件延续之间留下了空白。 看来我的ListView有比真实列表的长度更多的行,或者它有一个固定的高度,我不知道……这是我的XAML: 我该如何解决? 我看到人们使用HasUnevenRows=”True”但它对我不起作用。

构建Linq通用查询

我有一个包含两个表的数据库: public class A { public string Name { get; set; } public int Id { get; set; } } public class B { public int Id { get; set; } public bool Prop1 { get; set; } public bool Prop2 { get; set; } public bool Prop3 { get; set; } public bool Prop4 […]

如何使Windows窗体的关闭按钮不关闭窗体但使其不可见?

此表单具有NotifyIcon对象。 当用户单击“关闭”按钮时,我希望表单不会关闭但会变为不可见。 然后,如果用户想再次看到该表单,他可以双击系统托盘中的图标。 如果用户想要关闭表单,他可以右键单击图标并选择“关闭”。 有人能告诉我如何使关闭按钮不关闭表单但让它隐形吗? (或者,如果有人能够想出一种更好的方法来实现同样的目标)