Tag: c#

如何使用HttpWebRequest.Credentials属性进行基本身份validation?

如何使用Webrequest Credentials属性发送基本身份validation标头? 即使PreAuthenticate设置为true,为什么Authorization标头不会随请求一起发送? WebRequest request = (HttpWebRequest)WebRequest.Create(“https://api.github.com/user”); request.Credentials = new NetworkCredential(“githubUsername”, “githubPassword”); request.PreAuthenticate = true; var response = request.GetResponse();

在MVC之外使用ASP.Net MVC数据注释

我想知道是否有一种方法可以在没有MVC网站的情况下使用ASP.Net的数据注释。 我的例子是我有一个曾经创建过的类需要validation,否则会抛出错误。 我喜欢数据注释方法,而不是initaliser触发的一堆if块。 有没有办法让这个工作? 我以为它会是这样的: 添加数据注释 在初始化器中触发一个方法,该方法在类上调用MVCvalidation器 有任何想法吗? 我必须承认我还没有将MVC框架添加到我的项目中,因为我希望我可以使用数据注释类System.ComponentModel.DataValidation

从C#函数运行git命令

我的C#代码在检测到跟踪文件中的更改时如何运行git命令? 我正在为此目的编写一个VisualStudio / C#控制台项目。 我是.NET环境的新手,目前正致力于将自动GIT提交集成到文件夹中。 我需要在已知文件夹上自动提交任何更改/添加/删除,并将其推送到git remote。 任何指导赞赏。 谢谢。 这是我的,最后一个是我需要一些指导: Git存储库最初设置在具有正确忽略文件(已完成)的文件夹上。 我正在使用C#FileSystemWatcher来捕获所述文件夹的任何更改(完成)。 一旦我的项目检测到更改,它就需要提交并推送这些更改(待处理)。 项目需要运行的暂定命令: git add -A git commit “explanations_of_changes” git push our_remote 注意:此代码(没有用户交互)将是唯一承诺此repo的实体,因此我不担心冲突并相信此流程将起作用。

SQL Query表示未提供参数,但会将其添加到SqlCommand对象中

我有一个存储过程,其中有一个名为UserName的参数,在我的代码后面我有一个SqlCommand对象,我使用Add方法添加参数。 但由于某些原因,当命令对象尝试运行ExecuteReader方法时,它会抛出exception。 我完全不知所措,不知道为什么它没有识别参数。 在运行ExecuteReader方法之前,我有一个断点设置,所以我可以确认命令对象确实包含正在设置的参数,这是真的。 我知道当参数未添加到命令对象时,存储过程确实返回正确的数据,但在实际存储过程中是硬编码的。 下面是catch块中给出的exception消息。 我还将粘贴我的代码和存储过程的第一部分。 我非常感谢这个问题的任何帮助,看到我尝试了许多不同的方法无济于事。 提前致谢。 例外消息 过程或函数’someStoredProcedure’需要参数’@UserName’,这是未提供的。 代码背后 private DataTable GetLossMitData(string code, DateTime? start, DateTime? end) { DataTable results = new DataTable(); string connectionString = ConfigurationManager.ConnectionStrings[“asdf”].ConnectionString; string userName = String.Empty; try { using (SPSite site = new SPSite(ConfigurationManager.AppSettings[“someName”])) { using (SPWeb web = site.OpenWeb()) { userName = web.CurrentUser.Email.ToString(); } } using […]

BeginInvoke抛出exception

我有以下问题。 FindRoot实际上是在第三方dll中,我无法控制它。 它必须通过Begin调用来调用 。 有时,FindRoot方法会抛出exception。 这导致我的整个应用程序崩溃。 现在,即使FindRoot抛出exception,我如何防止我的应用程序崩溃。 delegate void AddRoot(double number); public static void FindRoot(double number) { throw new Exception();/// sometimes is thrown. } static void back_DoWork(object sender, DoWorkEventArgs e) { AddRoot root = FindRoot; root.BeginInvoke(12.0, root.EndInvoke, root); }

如何在WPF中处理Canvas.Top更改事件?

我在Canvas使用附加属性Canvas.Top和Canvas.Left定位了一个元素。 然后使用动画将元素移动到不同的坐标集,如下所示: DoubleAnimation left = new DoubleAnimation( oldLeft, newLeft ); DoubleAnimation top = new DoubleAnimation( oldTop, newTop ); element.BeginAnimation( Canvas.LeftProperty, left ); element.BeginAnimation( Canvas.TopProperty, top ); 有没有办法在Canvas.Top或Canvas.Left被更改时接收事件? 优选地与动画无关。

我如何实现IEnumerable?

我有一个包含静态对象数的类。 需要经常将此类与其他将成为简单List对象的类进行“比较”。 public partial class Sheet { public Item X{ get; set; } public Item Y{ get; set; } public Item Z{ get; set; } } 这些项目显然不会是“X”“Y”“Z”,这些只是通用名称。 问题在于,由于需要做的事情的性质,列表不起作用; 即使这里的所有东西都是Item类型。 它就像一个非常具体的事项清单,必须在代码和运行时进行测试。 这一切都很好,很好; 这不是我的问题。 我的问题是迭代它。 例如,我想做以下事情…… List UncheckedItems = // Repository Logic Here. UncheckedItems包含所有可用项目; CheckedItems是Sheet类实例。 CheckedItems将包含从Unchecked移动到Checked的项目; 但是由于存储系统的性质,移动到“已检查”的项目无法从“未选中”中删除。 我只想迭代“已检查”并从“已检查”中的已取消选中的列表中删除任何内容。 所以很自然地,这将是一个普通的列表。 foreach(Item item in Unchecked) { if( Checked.Contains(item) ) […]

从给定的线程获取SynchronizationContext

我似乎没有找到如何获取给定Thread的SynchronizationContext : Thread uiThread = UIConfiguration.UIThread; SynchronizationContext context = uiThread.Huh?; 我为什么需要那个? 因为我需要从前端应用程序的不同位置发布到UIThread。 所以我在名为UIConfiguration的类中定义了一个静态属性。 我在Program.Main方法中设置了这个属性: UIConfiguration.UIThread = Thread.CurrentThread; 在那一刻我可以肯定我有正确的线程,但是我不能设置像这样的静态属性 UIConfiguration.SynchronizationContext = SynchronizationContext.Current 因为尚未安装该类的WinForms实现。 由于每个线程都有自己的SynchronizationContext,因此必须可以从给定的Thread对象中检索它,否则我完全错了?

复制Word doc的内容并粘贴到另一个

我如何以编程方式复制一个word文档的内容并使用C#将其粘贴到另一个word文档? 我基本上想要复制个人资料(这是一个单词doc的内容),然后将其插入报告中。 任何帮助将不胜感激 谢谢

Double.MaxValue到整数是否定的?

为什么Double.MaxValue转换为整数类型会导致负值,该类型的最小值? double maxDouble = double.MaxValue; // 1.7976931348623157E+308 long maxDoubleLong = (long) maxDouble; // -9223372036854775808 我理解编译器错误,如果它太大或运行时出现OverflowException ,或者如果我使用unchecked ,转换可能不会引发exception,但结果将变为未定义且不正确(否定)。 同样奇怪的是值很长long.MinValue : bool sameAsLongMin = maxDoubleLong == long.MinValue; // true 顺便说一句,如果我将它转换为int也会发生同样的情况: int maxDoubleInt = (int)maxDouble; // -2147483648 bool sameAsIntMin = maxDoubleInt == int.MinValue; // true 如果它试图将其强制转换为decimal我会在运行时获得一个OverflowException decimal maxDoubleDec = (decimal)maxDouble; // nope 更新 :看起来迈克尔和巴雷的答案在头上很明显,如果我明确地使用了checked我会得到一个OverflowException : checked { double […]