Tag: c#

带布局的自定义错误页面

我一直在努力让自定义错误页面工作,并继续寻找回到简单使用静态页面的方法。 虽然静态页面有效,但它需要重新构建我们希望在此时避免的导航栏。 我目前正在使用以下内容指定自定义错误页面。 Asp.neterror handling IISerror handling 有没有一种方法可以实现动态自定义错误页面,可以处理IIS错误和Asp.net错误?

使用WCF的IQueryable问题

我有一个非常简单的WCF服务方法,它返回一个IQueryable,仅用于测试。 也许我在试图了解IQueryable的设计时遇到了什么问题。 我明确计划稍后将其与NHibernate的IQueryable提供程序一起使用。 但是,每当使用返回IQueryable的WCF方法时,我首先遇到某种序列化问题(至少我认为这可能是问题)。 它甚至不适用于简单的字符串。 这是我的代码: public IQueryable GetEquipmentConfigurations() { var returnValue = new List(); returnValue.Add(“test”); return returnValue.AsQueryable(); } 它可能没什么意义,只是为了测试我是否真的使用WCF通过线路获得那些IQueryables。 每当我使用类似SoapUI的客户端调用此方法时,我会收到套接字exception和连接重置,就像我尝试返回未标记为DataContract的内容一样。 但我在这里唯一要做的就是尝试返回一些糟糕的字符串列表。 这有什么问题? 我使用basicHTTPBinding,这是我的设置: 为接口设置OperationContract属性: [OperationContract] IQueryable GetEquipmentConfigurations(); 只返回一个简单的字符串就可以了。 无论如何,我想稍后使用LINQ从IQueryablefunction中获利。 有谁知道这里出了什么问题? 谢谢和干杯, 斯特凡

reflection – 获取lambda表达式中的方法调用列表

我试图找到一种方法来获取C#3.5中lambda表达式内的方法调用列表。 例如,在下面的代码中,我想方法LookAtThis(Action a)来分析lambda表达式的内容。 换句话说,我希望LookAtThis返回Create的MethodInfo对象。 LookAtThis(() => Create(null, 0)); 可能吗? 谢谢!

如何防止工具提示在自定义控件中闪烁?

我已经制作了自定义控件,当条件满足时,我想显示一个工具提示: protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); var plannedItem = GetPlannedItemByPosition(e.Location); if (plannedItem != null) _tooltip.SetToolTip(this, plannedItem.Description); else _tooltip.RemoveAll(); } 此代码工作正常,除了工具提示闪烁的面孔。 这个自定义控件描绘了OnPaint事件中的所有信息,这可能与它有关吗? 如果是这样,我怎样才能防止工具提示闪烁?

从ADO.NET和SMSS执行时,具有相同查询计划的相同查询需要大约10倍的时间

我的查询相当复杂,但我已经简化了它来解决这个问题,现在它是一个简单的JOIN,我在SQL Server 2014数据库上运行。 查询是: SELECT * FROM SportsCars as sc INNER JOIN Cars AS c ON c.CarID = sc.CarID WHERE c.Type = 1 当我从SMSS运行此查询并在SQL事件探查器中观察它时,执行大约需要350毫秒。 当我使用Entity Framework或ADO.NET在我的应用程序中运行相同的查询时(我已尝试过两者)。 执行需要4500ms。 ADO.NET代码: using (var connection = new SqlConnection(connectionString)) { connection.Open(); var cmdA = new SqlCommand(“SET ARITHABORT ON”, connection); cmdA.ExecuteNonQuery(); var query = “SELECT * FROM SportsCars as sc INNER […]

可以返回CryptoStream并且仍然可以正确处理所有内容吗?

如果我有一个我想传递给用户的CryptoStream ,那么天真的方法就是 public Stream GetDecryptedFileStream(string inputFile, byte[] key, byte[] iv) { var fsCrypt = new FileStream(inputFile, FileMode.Open, FileAccess.Read, FileShare.Read); var rmCrypto = new RijndaelManaged(); var transform = rmCrypto.CreateDecryptor(key, iv); var cs = new CryptoStream(fsCrypt, transform, CryptoStreamMode.Read); return cs; } 我知道当我处理CryptoStream ,底层的FileStream 也将被处理掉 。 我正在运行的问题是我如何处理rmCrypto和transform ? RijndaelManaged和ICryptoTransform是一次性类,但处理流不会处理这两个对象。 处理这种情况的正确方法是什么?

如何检测Windows 7开始菜单何时打开

我在C#中编写了一个WPF应用程序,我想在每次打开开始菜单时显示它,并在菜单关闭时再次隐藏。 我更愿意这样做而不用轮询开始菜单的状态。 到目前为止,我已经尝试过收听SHELLHOOK消息,但我没有看到任何有用的信息。

部分课的用途是什么?

部分类如何在编码中有用? 任何人都可以用例子详细解释吗?

如何覆盖NET类型转换器?

我正在开发一个ETL类型的应用程序,它从csv数据文件创建实体。 特别是一个字段 – 一个布尔字段 – certificate难以使用,因为系统提供了他们自己对bool的解释,如true,false,yes,no,1,0,甚至-1等。 使用默认类型转换器,大多数测试失败: var b1 = Convert.ChangeType(“true”, TypeCode.Boolean, CultureInfo.InvariantCulture); var b2 = Convert.ChangeType(“false”, TypeCode.Boolean, CultureInfo.InvariantCulture); var b3 = Convert.ChangeType(“True”, TypeCode.Boolean, CultureInfo.InvariantCulture); var b4 = Convert.ChangeType(“False”, TypeCode.Boolean, CultureInfo.InvariantCulture); var b5 = Convert.ChangeType(“TRUE”, TypeCode.Boolean, CultureInfo.InvariantCulture); var b6 = Convert.ChangeType(“FALSE”, TypeCode.Boolean, CultureInfo.InvariantCulture); // All below fail var b7 = Convert.ChangeType(“yes”, TypeCode.Boolean, CultureInfo.InvariantCulture); var b8 […]

如何使用C#调用接收Delphi开放数组参数的函数?

如何将Delphi代码转换为C#? 它需要一个array of Byte ,但我不确定C#的等价物是什么。 我的尝试不起作用,并抛出像AccessViolationException之类的exception。 delphi: function SetLevel(a: array of byte): boolean; stdcall; external ‘DMX510.dll’; C#: [DllImport(“DMX510.DLL”)] public static extern Boolean SetLevel(Byte[] bytearray); Byte[] byteArray = new Byte[5]; byteArray[1] = 75; SetLevel(byteArray);