Tag: c#

如何在使用附加调试器运行测试时阻止VerificationException?

每当我运行附加调试器的以下任一unit testing时,此时我在FluentValidation代码中得到一个VerificationException (如果需要,将在稍后发布整个堆栈跟踪 ): at FluentValidation.Resources.LocalizedStringSource.CreateFromExpression(Expression`1 expression, IResourceAccessorBuilder resourceProviderSelectionStrategy) in …\FluentValidation\Resources\LocalizedStringSource.cs:line 66 测试是: using FluentValidation; using Microsoft.VisualStudio.TestTools.UnitTesting; [TestClass] public class UnitTest1 { [TestMethod] public void TestMethod1() { var c = new MyClass(); var v = new MyValidator(); v.Validate(c); } [TestMethod] public void TestMethod2() { Exception ex = null; var done = new ManualResetEvent(false); ThreadPool.QueueUserWorkItem( o […]

如何在C#中使用Outlook MAPI打开.eml文件?

我有一个C#应用程序,它读取.msg文件并提取正文和附件。 但是当我尝试加载.eml文件时,应用程序崩溃了。 我正在加载这样的文件: MailItem mailItem = (MailItem)outlookApp.CreateItemFromTemplate(msgFileName); mailItem.SaveAs(fullFilename, OlSaveAsType.olHTML); // save body in html format for(int i = 0; i < mailItem.Attachments.Count; i++) mailItem.Attachments[i].SaveAsFile(filename); // save attachments 这适用于.msg文件,但它不适用于.eml文件。 我不明白为什么.eml文件不起作用,因为我可以在Outlook 2010中打开.eml文件。 如何使用Outlook 主互操作程序集加载.eml文件?

使用C#和WinForms在他们自己的进程中的选项卡

可能重复 Windows Forms应用程序,例如Google Chrome,具有多个进程 Chrome / IE8多进程设计,是否可以在.NET中实现? 适用于Google Chrome等多进程C#应用的示例 IE8和谷歌浏览器浏览器都为每个打开的选项卡分别设置了进程 。 例如,您启动IE8并在自己的选项卡中打开Yahoo和Google,最终您的系统上运行了3个进程: IE8本身进程[主进程] Google标签流程 Yahoo标签流程 我正在玩C#/ WinForms中类似的东西。 举一个简单的例子:我有一个显示Form的主进程,我在子进程中有一个Button。 我们如何将Button从其他进程渲染到我的表单上?

将图像文件保存到sql Server并将字节数组转换为图像

我将图像存储在数据库中,并希望将它们从字节数组转换为图像。 我没有问题将对象转换为字节数组但是在尝试从字节数组转换为图像时出现“参数无效”错误。 我传递给我的方法的对象来自数据集行。 存储过程 USE [—————-] GO /****** Object: StoredProcedure [dbo].[usp_imageloader_add_test] Script Date: 01/16/2012 09:19:46 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER procedure [dbo].[usp_imageloader_add_test] @p_Image Image as INSERT into Test_Images VALUES(@p_Image) 上传文件控制 /将图像文件转换为字节数组并将数据保存到数据库 protected void btnUpload_Click(object sender, EventArgs e) { if (ctrlUpload.PostedFile != null) { if (ctrlUpload.PostedFile.ContentLength > 0) { // Get […]

事件的exception处理

如果这是一个简单的问题,我很抱歉(我的谷歌今天可能很糟糕)。 想象一下这个WinForms应用程序有这种类型的设计:主应用程序 – >显示一个对话框 – >第一个对话框可以显示另一个对话框。 两个对话框都有OK / Cancel按钮(数据输入)。 我试图找出某种类型的全局exception处理,沿着Application.ThreadException行。 我的意思是: 每个对话框都有一些事件处理程序。 第二个对话框可能包含: private void ComboBox_SelectedIndexChanged(object sender, EventArgs e) { try { AllSelectedIndexChangedCodeInThisFunction(); } catch(Exception ex) { btnOK.enabled = false; // Bad things, let’s not let them save // log stuff, and other good things } } 实际上,应该以这种方式处理此对话框中的所有事件处理程序。 这是一个例外情况,所以我只想记录所有相关信息,显示消息,并禁用该对话框的okay按钮。 但是,我想避免在每个事件处理程序中使用try / catch(如果可以的话)。 所有这些try / catch的缺点是: […]

.NET Listview刷新

我有以下代码,它基本上从数据库中获取值并填充listview。 using (IDataReader reader = cmd.ExecuteReader()) { lvwMyList.Items.Clear(); while (reader.Read()) { ListViewItem lvi = lvwMyList.Items.Add(reader[“Value1”].ToString()); lvi.SubItems.Add(reader[“Value2”].ToString()); } } 我遇到的问题是,它会以较短的间隔(每秒)重复执行,导致列表视图中的项目不断消失并重新出现。 有没有办法阻止列表视图刷新,直到完成更新? 如下所示: using (IDataReader reader = cmd.ExecuteReader()) { lvwMyList.Items.Freeze(); // Stop the listview updating lvwMyList.Items.Clear(); while (reader.Read()) { ListViewItem lvi = lvwMyList.Items.Add(reader[“Value1”].ToString()); lvi.SubItems.Add(reader[“Value2”].ToString()); } lvwMyList.Items.UnFreeze(); // Refresh the listview }

无法从Azure网站访问Azure数据库服务器

我使用Visual Studio 2013 Web Express创建了一个MVC Web应用程序。 我已在Azure中为我的计算机启用了防火墙规则,我可以从本地计算机连接并远程调试我的网站。 我有用户SQL Server对象资源管理器,以确认我正在连接到我的Azure数据库,并确保应用程序正常运行。 但是,当我将应用程序部署到Azure时,我收到以下连接错误。 我已经检查过以确保该网站将Azure数据库作为链接资源。 我使用FTP连接到网站并确认我的web.config中的连接字符串是否正确。 这似乎是我的Azure设置中的一些配置问题,但我不知道还有什么要检查。 任何建议表示赞赏。 —————收到错误(用户名和跟踪ID已更改)————————- – ‘/’应用程序中的服务器错误。 用户’MyUserName’登录失败。 已为此会话分配了跟踪ID“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”。 在需要帮助时,请将此跟踪ID提供给客户支持。 描述:执行当前Web请求期间发生未处理的exception。 请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。 exception详细信息:System.Data.SqlClient.SqlException:用户’MyUserName’登录失败。 已为此会话分配了跟踪ID“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”。 在需要帮助时,请将此跟踪ID提供给客户支持。 来源错误: 在执行当前Web请求期间生成了未处理的exception。 可以使用下面的exception堆栈跟踪来识别有关exception的起源和位置的信息。 堆栈跟踪: [SqlException (0x80131904): Login failed for user ‘MyUserName’. This session has been assigned a tracing ID of ‘xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx’. Provide this tracing ID to 客户支持时需要帮助。] System.Data.SqlClient.SqlInternalConnection.OnError(SqlExceptionexception,Boolean breakConnection,Action 1 […]

entity framework:Database.ExecuteSqlCommand方法

所以,我有一个基本的更新声明,我在我的MVC 4应用程序中运行。 我这样称呼它(SQL Server 2008 R2,Entity Framework 5.0): var requestData = requestInfo.Database.ExecuteSqlCommand(“UPDATE TABLE Blah.. “); 命令成功完成,但有时requestData返回1,有时返回2.我找不到任何文档或解释这些返回值的含义。 我看过这里: http://msdn.microsoft.com/en-us/library/gg679456(v=vs.103).aspx 但是,它没有给出任何明确的答案。 如果有人可以链接到解释此命令返回值的内容,我将非常感激。

将未知格式的字符串转换为c#中的日期

我搜索了stackoverflow的答案,但没有运气。 我正在开发一个Windows应用程序,我有一些不同日期格式的字符串,例如。 dd/MM/yyyy MM/dd/yyyy MM-dd-yyyy dd-MM-yyyy dd/MM/yyyy hh:mm::ss MM/dd/yyyy hh:mm::ss etc… 但我需要转换为通用格式 – dd/MM/yyyy 。 该应用程序可以在不同文化的任何Windows机器上运行。 这样做的正确方法是什么? 编辑:还有一件事我可能不知道传入字符串的格式是什么。 提前致谢。

C#在JSON字符串的开头和结尾添加双引号会导致服务器解码错误

我正在编写ac#机制,使用Json将文件上传到Rails服务器。 在进入文件部分之前,我只是想发布到服务器,并且似乎在到达服务器的json字符串有一些问题。 我可能做错了什么? 我已经尝试了两种不同的序列化字符串的方法,甚至加载已经序列化的字符串…… 我想知道它是否与字符串的开头和结尾处的双引号有关,显然是发送到服务器,以及如何从请求中删除它们(没有周围的引号并使用来自WizTools.org的RestClient,一切顺利很好……): MultiJson::DecodeError (757: unexpected token at ‘”{\”receipt\”:{\”total\”:100.0,\”tag_number\”:\”xxxxx\”,\”ispaperduplicate\”:true},\”machine\”:{\”serial_number\”:\”111111\”,\”safe_token\”:\”1Y321a\”}}”‘) 我的c#代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using RestSharp; using System.Web.Script.Serialization; using Newtonsoft.Json; namespace RonRestClient { class templateRequest { public Receipt receipt; public class Receipt { public float total; public String tag_number; public bool […]