Tag: .net

在将XML插入SQL Server时如何解决“无法切换编码”错误

我试图插入XML列(SQL SERVER 2008 R2),但服务器的抱怨: System.Data.SqlClient.SqlException(0x80131904): XMLparsing:行1,字符39,无法切换编码 我发现为了插入成功,XML列必须是UTF-16。 我使用的代码是: XmlSerializer serializer = new XmlSerializer(typeof(MyMessage)); StringWriter str = new StringWriter(); serializer.Serialize(str, message); string messageToLog = str.ToString(); 我如何序列化对象是UTF-8string? 编辑 :好的,抱歉的混合 – string需要在UTF-8。 你是对的 – 默认情况下是UTF-16,如果我尝试以UTF-8插入,它会通过。 所以问题是如何序列化成UTF-8。 例 尝试插入到SQL Server时,这会导致错误: <?xml version="1.0" encoding="utf-16"?> <MyMessage>Teno</MyMessage> 这不: <?xml version="1.0" encoding="utf-8"?> <MyMessage>Teno</MyMessage> 更新 我想出了当它的Xml列types的SQL Server 2008需要utf-8时,以及当你尝试插入的xml规范的encoding属性中的utf-16: 当你想添加utf-8 ,然后像下面这样向SQL命令添加参数: sqlcmd.Parameters.Add("ParamName", SqlDbType.VarChar).Value = xmlValueToAdd; […]

@前缀对C#中的string文字做了什么?

我读了一些C#文章来结合使用Path.Combine(part1,part2)的path。 它用 string part1 = @"c:\temp"; string part2 = @"assembly.txt"; 我不知道在part1和part2中使用@什么用处。

单螺纹公寓vs多螺纹公寓

可能重复: 你能解释STA和MTA吗? 所有ThreadPool线程都在multithreading的公寓中。 – 根据MSDN 那是什么意思? 我真的关心multithreading与单线程模式的区别。 或者公寓模式是什么意思? 我已经阅读了MSDN,这对我来说并不合适。 我想我可能有一个想法,但我想在这里的人可以用简单的英语来解释。 谢谢,安东尼D 更新1 find这个可以解释STA和MTA吗? 任何人都可以更具描述性? 更新2 我也在寻找关于如何适用于线程池的答案,以及因此需要注意的问题。

结合两个(或更多)PDF的

背景:我需要为销售人员提供每周报告包。 这个软件包包含几个(5-10)水晶报告。 问题:我希望允许用户运行所有报告,并且只运行一个报告。 我想我可以通过创build报告来做到这一点,然后做: List<ReportClass> reports = new List<ReportClass>(); reports.Add(new WeeklyReport1()); reports.Add(new WeeklyReport2()); reports.Add(new WeeklyReport3()); <snip> foreach (ReportClass report in reports) { report.ExportToDisk(ExportFormatType.PortableDocFormat, @"c:\reports\" + report.ResourceName + ".pdf"); } 这将为我提供一个包含所有报告的文件夹,但是我想用每周的所有报告给每个人发一封PDF。 所以我需要把它们结合起来 有没有简单的方法来做到这一点,而无需安装更多的第三方控制? 我已经有DevExpress和CrystalReports,我不想添加太多。 将它们合并到foreach循环还是单独循环最好? (或另一种方式) 谢谢

C#中不支持静态索引器吗?

我一直在尝试这几种不同的方式,但我得出的结论是不能做到的。 这是我过去从其他语言享受的语言function。 这只是我应该注销的东西吗?

比较char忽略大小写的正确方法是什么?

我想知道什么是正确的方式比较两个字符忽略案件,将适用于所有文化。 另外, Comparer<char>.Default是testing两个字符而不忽略大小写的最佳方法吗? 这是否适用于代理对? 编辑 :添加示例IComparer<char>实现 如果这有助于任何人,这是我决定使用的 public class CaseInsensitiveCharComparer : IComparer<char> { private readonly System.Globalization.CultureInfo ci; public CaseInsensitiveCharComparer(System.Globalization.CultureInfo ci) { this.ci = ci; } public CaseInsensitiveCharComparer() : this(System.Globalization.CultureInfo.CurrentCulture) { } public int Compare(char x, char y) { return Char.ToUpper(x, ci) – Char.ToUpper(y, ci); } } // Prints 3 Console.WriteLine("This is a test".CountChars('t', new CaseInsensitiveCharComparer()));

通过C#确定string是否是有效的文件path

我想知道如何确定string是否是有效的文件path。 文件path可能存在也可能不存在。

在C#中,<T>代表什么?

我是C#的新手,直接修改我收到的项目的一些代码。 不过,我一直看到这样的代码: class SampleCollection<T> 我无法理解什么 <T> 意味着什么也不叫它。 如果有人愿意帮我指出这个概念的名称,我可以在网上search。 但是,我现在还是无能为力。

不能使用前导../来退出顶层目录

我有一个asp.net的网站,我们有pipe理员只有pipe理员的login页面的所有网站是允许所有 – 我需要问如何定义正确的安全configuration,因为我得到这个错误 不能使用前导..从顶端目录之上退出。 说明:执行当前Web请求期间发生未处理的exception。 请查看堆栈跟踪,了解有关错误的更多信息以及源代码的位置。 exception详细信息:System.Web.HttpException:不能使用前导..以退出顶部目录。 源错误: 在执行当前Web请求期间生成未处理的exception。 有关exception的来源和位置的信息可以使用下面的exception堆栈跟踪来标识。 堆栈跟踪: [HttpException(0x80004005):不能使用前导..以退出顶部目录。] System.Web.Util.UrlPath.ReduceVirtualPath(String path)+8862087 System.Web.Util.UrlPath.Reduce(String path)+52 System.Web.Util.UrlPath.Combine(stringappPath,stringbasepath,string相对)+214 System.Web.UI.Control.ResolveClientUrl(String relativeUrl)+180 System.Web.UI.WebControls.Image.AddAttributesToRender(HtmlTextWriter作家)+68 System.Web.UI.WebControls.WebControl.RenderBeginTag(HtmlTextWriter作家)+20 System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter作家)+20 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter作家,ControlAdapter适配器)+27 System.Web.UI.Control.RenderControl(HtmlTextWriter作家,ControlAdapter适配器)+99 System.Web.UI.Control.RenderControl(HtmlTextWriter作家)+25 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter作家,ICollection的孩子)+134 System.Web.UI.Control.RenderChildren(HtmlTextWriter作家)+19 System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter作家)+163 System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter作家)+32 System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter输出)+51 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter作家,ControlAdapter适配器)+27 System.Web.UI.Control.RenderControl(HtmlTextWriter作家,ControlAdapter适配器)+99 System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter作家)+40 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter作家,ICollection的孩子)+134 System.Web.UI.Control.RenderChildren(HtmlTextWriter作家)+19 System.Web.UI.Control.Render(HtmlTextWriter作家)+10 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter作家,ControlAdapter适配器)+27 System.Web.UI.Control.RenderControl(HtmlTextWriter作家,ControlAdapter适配器)+99 System.Web.UI.Control.RenderControl(HtmlTextWriter作家)+25 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter作家,ICollection的孩子)+134 System.Web.UI.Control.RenderChildren(HtmlTextWriter作家)+19 System.Web.UI.Page.Render(HtmlTextWriter作家)+29 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter作家,ControlAdapter适配器)+27 System.Web.UI.Control.RenderControl(HtmlTextWriter作家,ControlAdapter适配器)+99 System.Web.UI.Control.RenderControl(HtmlTextWriter作家)+25 System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)+1266 我的configuration文件: <authentication mode="Forms"> <forms name=".ASPXFORMSAUTH" protection="All" loginUrl="Admin/LoginPage.aspx" path="/" enableCrossAppRedirects="true"> […]

本年在ASP.NET MVC 3

我想将Copyright @'current_year'添加到页面的页脚(在cshtml文件中)。 我经常使用JavaScript,但由于我使用ASP.NET MVC 3,我想用ASP做到这一点。 我正在尝试build设像: @response.write("Current Year: "&Year(Date)) 但它没有在MVC 3中工作,我无法find正在工作的解决scheme。