Tag: .net

如何使用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();

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 […]

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 […]

如何删除其他进程正在使用的文件?

当我尝试删除文件时发生以下exception: 该进程无法访问该文件,因为它正由另一个进程使用。 我的代码看起来像: string[] files = Directory.GetFiles(@”C:\SEDocumentConverter\SOURCE”); foreach (string file in files) { File.Delete(file); } 我怎么解决这个问题?

为什么PLINQ只使用两个线程?

说我有一个IO绑定任务。 我使用WithDegreeOfParallelism = 10和WithExecution = ForceParallelism模式,但查询仍然只使用两个线程。 为什么? 我知道PLINQ通常会选择一个与我的核心数相等的并行度,但为什么它忽略了我对更高并行性的特定要求呢? static void Main(string[] args) { TestParallel(0.UpTo(8)); } private static void TestParallel(IEnumerable input) { var timer = new Stopwatch(); timer.Start(); var size = input.Count(); if (input.AsParallel(). WithDegreeOfParallelism(10). WithExecutionMode(ParallelExecutionMode.ForceParallelism). Where(IsOdd).Count() != size / 2) throw new Exception(“Failed to count the odds”); timer.Stop(); Console.WriteLine(“Tested ” + size + ” numbers […]

背景工作者 – 报告与字符串数组的进展

我需要在每个循环中从我的backgroundworker返回多个STRING值,所以我尝试使用ReportProgress第二个参数作为字符串数组。 代码示例: private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { string[] workerResult = new string[2]; for (int i=0; i<someNumber; i++) { //do some heavy calculating workerResult[0] = "this string"; workerResult[1] = "some other string"; backgroundWorker1.ReportProgress(i, workerResult) // also tried workerResult[] and [2] } } private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e) { string[] results = (string[])e.UserState; MessageBox.Show(results[0]); […]

序列化/反序列化对象 – 字段的顺序很重要?

如果字段不在“正确”(无论是什么意思)顺序中, DataContractSerializer是否可能错误地反序列化对象? 我尝试序列化/反序列化的类没有在字段/属性上放置顺序属性。 然而,我的一个字段总是被反序列化为null即使它具有非空值(它实际上包含字符串列表)。 当我在序列化文件中移动两个XML元素以匹配另一个XML示例中的顺序时(反序列化工作没有问题)一切都开始工作。 这对我没有意义,但也许有人知道的更好。 ;)

ObservableCollection比ObjectSet更好

为什么将ListBox绑定到在ObjectSet (来自entity framework)上创建的ObservableCollection而不是直接绑定到ObjectSet更好(在WPF,C#,Entity Framework中)? 还有一个问题:当我将ListBox绑定到ObservableCollection ,集合的任何添加都会更新ListBox 。 大。 但ObservableCollection是在ObjectContext (在Entity Framework中)创建的,并且向集合添加新项目不会将项目添加到上下文…如何解决这个问题????

如何在Winform中获取IE版本信息?

我正在使用C#在.NET framework 3.5中开发一个winform应用程序。 在应用程序中,我需要显示安装在运行它的机器上的IE版本号。 我怎么能这样做,谁能告诉我?

每次迭代都会评估for循环中的条件吗?

当你做的事情: for (int i = 0; i < collection.Count; ++i ) 是每次迭代都调用collection.Count吗? 如果Count属性动态获取调用计数,结果会改变吗?