Questions tagged «c#»

C#(发音为“ See Sharp”)是由Microsoft开发的一种高级,静态类型的多范例编程语言。C#代码通常针对Microsoft的.NET系列工具和运行时,其中包括.NET Framework,.NET Core和Xamarin。使用此标记可解决有关用C#或C#正式规范编写的代码的问题。

10
远程主机强行关闭了现有连接
我正在使用一个商业应用程序,该应用程序会在消息中抛出SocketException, 远程主机强行关闭了现有连接 客户端和服务器之间的套接字连接会发生这种情况。该连接仍然运行良好,并且正在传输大量数据,但是随后连接断开。 有人看过吗?原因可能是什么?我可以推测出一些原因,但是有没有办法在此代码中添加更多内容来找出可能的原因呢? 欢迎任何意见/想法。 ... 最新的 ... 我从.NET跟踪中获得了一些日志记录, System.Net.Sockets Verbose: 0 : [8188] Socket#30180123::Send() DateTime=2010-04-07T20:49:48.6317500Z System.Net.Sockets Error: 0 : [8188] Exception in the Socket#30180123::Send - An existing connection was forcibly closed by the remote host DateTime=2010-04-07T20:49:48.6317500Z System.Net.Sockets Verbose: 0 : [8188] Exiting Socket#30180123::Send() -> 0#0 根据日志记录的其他部分,我已经看到一个事实,它说“ 0#0”表示正在发送一个0字节长度的数据包。但这到底是什么意思? 有两种可能性之一,但我不确定哪一种, 1)连接已关闭,但随后将数据写入套接字,因此产生了上述异常。0#0仅仅意味着什么都没发送,因为套接字已经关闭。 …
158 c#  .net  networking  sockets 

4
Parallel.ForEach与Task.Run和Task.WhenAll
使用Parallel.ForEach或Task.Run()异步启动一组任务之间有什么区别? 版本1: List<string> strings = new List<string> { "s1", "s2", "s3" }; Parallel.ForEach(strings, s => { DoSomething(s); }); 版本2: List<string> strings = new List<string> { "s1", "s2", "s3" }; List<Task> Tasks = new List<Task>(); foreach (var s in strings) { Tasks.Add(Task.Run(() => DoSomething(s))); } await Task.WhenAll(Tasks);

10
在C#中获取当前目录名称的(最后一部分)
我需要获取当前目录的最后一部分,例如/Users/smcho/filegen_from_directory/AIRPassthrough,我需要从获取AIRPassthrough。 使用python,我可以通过以下代码获得它。 import os.path path = "/Users/smcho/filegen_from_directory/AIRPassthrough" print os.path.split(path)[-1] 要么 print os.path.basename(path) 如何使用C#做同样的事情? 添加 在答复者的帮助下,我找到了我所需要的。 using System.Linq; string fullPath = Path.GetFullPath(fullPath).TrimEnd(Path.DirectorySeparatorChar); string projectName = fullPath.Split(Path.DirectorySeparatorChar).Last(); 要么 string fullPath = Path.GetFullPath(fullPath).TrimEnd(Path.DirectorySeparatorChar); string projectName = Path.GetFileName(fullPath);
158 c#  string  filepath 

3
测试资源管理器(VS)显示“ <未知项目>”
使用.NET Framework 4.7和NUnit + NUnit3TestAdapter在VS2019中进行以下所有操作 我创建了一个名为Exitus.Tests的程序集,并添加了一些单元测试。但是,针对我无法解决的Nuget的某些问题,我创建了另一个名为Exitus.UnitTests的项目,并删除了旧项目中包含的一次文件(包括更改名称空间)。 现在,新的测试项目在资源管理器中正确显示了op,但是旧项目的“幽灵”仍然存在: 如果我尝试运行测试,则输出窗口将显示以下错误: System.InvalidOperationException:在Microsoft.VisualStudio.TestWindow.Client.TestContainer.TestContainerProvider上找不到以下TestContainer'C:\ Users \ xxx \ Source \ Repositories \ Expire \ Exitus.Tests \ bin \ Debug \ Exitus.Tests.dll' .d__46.MoveNext()---从上一个引发异常的位置开始的堆栈跟踪---在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) )在Microsoft.VisualStudio.TestWindow.Controller.TestContainerConfigurationQueryByTestsBase.d__6.MoveNext()(...) 堆栈跟踪的时间更长,但奇怪的是第二行,指出它在找不到测试容器\Exitus.Tests\bin\Debug\Exitus.Tests.dll。这是旧测试项目的名称,我已删除并删除了该项目。我已经在整个项目中搜索了该词Exitus.Tests,但没有任何结果。 无论如何,是否有必要强制删除此“鬼”项目?
157 c#  visual-studio  nunit 

7
如何从ASP.NET中的任何类访问会话变量?
我在应用程序的App_Code文件夹中创建了一个类文件。我有一个会话变量 Session["loginId"] 我想在我的班级中访问此会话变量,但是当我编写以下行时,它给出了错误 Session["loginId"] 谁能告诉我如何访问在ASP.NET 2.0(C#)的app_code文件夹中创建的类中的会话变量

14
如何将List <string>转换为List <int>?
我的问题是这个问题的一部分: 我从表单中收到ID的集合。我需要获取键,将它们转换为整数,然后从数据库中选择匹配的记录。 [HttpPost] public ActionResult Report(FormCollection collection) { var listofIDs = collection.AllKeys.ToList(); // List&lt;string&gt; to List&lt;int&gt; List&lt;Dinner&gt; dinners = new List&lt;Dinner&gt;(); dinners= repository.GetDinners(listofIDs); return View(dinners); }
157 c# 

6
在服务器上打开IncludeExceptionDetailInFaults(通过ServiceBehaviorAttribute或<serviceDebug>配置行为)
我有一个运转良好的WCF服务,但情况有所变化,我不知道是什么。 我得到这个例外: System.ServiceModel.FaultException:由于内部错误,服务器无法处理请求。有关错误的更多信息,请打开服务器上的IncludeExceptionDetailInFaults(从ServiceBehaviorAttribute或从配置行为),以便将异常信息发送回客户端,或者根据Microsoft .NET Framework 3.0 SDK文档打开跟踪。并检查服务器跟踪日志。 这令人困惑,因为我正在运行.NET 4.0。 我在哪里打开IncludeExceptionDetailInFaults?我正在努力寻找它。

26
提供程序与Oracle客户端的版本不兼容
我试图在ASP.net项目上使用Oracle ODP.NET 11g(11.1.0.6.20)Instant Client作为数据提供程序,但是当我运行aspx页面时,出现“ 提供程序与版本不兼容Oracle客户端错误消息。任何帮助,将不胜感激。 我已经在Visual Studio 2005中引用了数据提供程序,其背后的代码如下所示: using Oracle.DataAccess.Client; .. OracleConnection oOracleConn = new OracleConnection(); oOracleConn.ConnectionString = "Data Source=MyOracleServerName;" + "Integrated Security=SSPI"; oOracleConn.Open(); //Do Something oOracleConn.Close(); 该页面的错误如下所示: Exception Details: Oracle.DataAccess.Client.OracleException: The provider is not compatible with the version of Oracle client Source Error: Line 21: Line 22: Line 23: …

7
实现C#通用超时
我正在寻找实现通用方法以使单行(或匿名委托)代码超时执行的好主意。 TemperamentalClass tc = new TemperamentalClass(); tc.DoSomething(); // normally runs in 30 sec. Want to error at 1 min 我正在寻找一种可以在我的代码与气质代码进行交互的许多地方优雅地实现的解决方案(我无法更改)。 另外,如果可能的话,我想阻止令人讨厌的“超时”代码进一步执行。

6
将列表内容追加到另一个列表C#
我有以下几点: 一个名为GlobalStrings的主列表 另一个名为localStrings的列表 例如,在循环中: List&lt;string&gt; GlobalStrings = new List&lt;string&gt;(); List&lt;string&gt; localStrings = new List&lt;string&gt;(); for(x=1;x&lt;10;x++) { localStrings.Add("some value"); localStrings.Add("some value"); } // Want to append localStrings to GlobalStrings as easily as possible
157 c# 

27
如何优雅地检查数字是否在范围内?
如何使用C#和.NET 3.5 / 4优雅地做到这一点? 例如,数字可以在1到100之间。 我知道一个简单的方法就足够了。但是这个问题的关键词是优雅。这是给我的玩具项目而不是生产项目。 这个问题不是关于速度,而是关于代码美。停止谈论效率之类的话题;记得你在向合唱团宣道。
157 c#  numbers  int 


7
如何使用C#查找和替换文件中的文本
到目前为止我的代码 StreamReader reading = File.OpenText("test.txt"); string str; while ((str = reading.ReadLine())!=null) { if (str.Contains("some text")) { StreamWriter write = new StreamWriter("test.txt"); } } 我知道如何查找文本,但是我不知道如何用自己的文本替换文件中的文本。


13
从SqlDataReader读取数据
我有一个SQL Server 2008数据库,并且正在后端进行处理。我正在asp.net/C#上工作 SqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { //how do I read strings here???? } 我知道读者有价值观。我的SQL命令是从表中仅选择1列。该列仅包含字符串。我想一一阅读阅读器中的字符串(行)。我该怎么做呢?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.