Questions tagged «c#»

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

13
如何使用C#在.NET中获取格式化的JSON?
我正在使用.NET JSON解析器,并希望序列化我的配置文件,以便可读。所以代替: {"blah":"v", "blah2":"v2"} 我想要更好的东西: { "blah":"v", "blah2":"v2" } 我的代码是这样的: using System.Web.Script.Serialization; var ser = new JavaScriptSerializer(); configSz = ser.Serialize(config); using (var f = (TextWriter)File.CreateText(configFn)) { f.WriteLine(configSz); f.Close(); }

10
HttpClient不支持PostAsJsonAsync方法C#
我正在尝试从Web应用程序调用Web API。我正在使用.Net 4.5,并且在编写代码时遇到的错误HttpClient不包含定义PostAsJsonAsync方法。 下面是代码: HttpClient client = new HttpClient(); client.BaseAddress = new Uri("http://localhost:51093/"); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); var user = new Users(); user.AgentCode = 100; user.Remarks = "Test"; user.CollectionDate = System.DateTime.Today; user.RemittanceDate = System.DateTime.Today; user.TotalAmount = 1000; user.OrgBranchID = 101; var response = client.PostAsJsonAsync("api/AgentCollection", user).Result; 我收到错误消息: 错误:“ System.Net.Http.HttpClient”不包含“ PostAsJsonAsync”的定义,并且找不到扩展方法“ PostAsJsonAsync”接受类型为“ System.Net.Http.HttpClient”的第一个参数(您是否缺少使用指令还是程序集引用?) …

19
NUnit与Visual Studio 2008的单元测试测试项目?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我将要在工作中启动一个新项目,并想进入单元测试。我们将使用VS 2008,C#和ASP.NET MVC。我正在考虑使用NUnit或VS2008具有的内置测试项目,但是我愿意研究其他建议。一个系统是否比另一个系统好,或者比另一个系统更易于使用/理解?我希望将这个项目设置为“最佳实践”,以进行我们的开发工作。 感谢您的帮助和建议!

8
从月份号获取月份名称
可能重复: 如何在c#中获取MonthName? 我使用以下c#语法从no月份获取月份名称,但我得到了 August我只想要Aug.. System.Globalization.DateTimeFormatInfo mfi = new System.Globalization.DateTimeFormatInfo(); string strMonthName = mfi.GetMonthName(8).ToString(); 任何建议...
254 c#  .net  datetime 

12
如何在C#程序中执行存储过程
我想从C#程序执行此存储过程。 我在SqlServer查询窗口中编写了以下存储过程,并将其保存为stored1: use master go create procedure dbo.test as DECLARE @command as varchar(1000), @i int SET @i = 0 WHILE @i < 5 BEGIN Print 'I VALUE ' +CONVERT(varchar(20),@i) EXEC(@command) SET @i = @i + 1 END 编辑: using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; namespace AutomationApp …

13
如何接受文件POST
我正在使用asp.net mvc 4 webapi beta来构建REST服务。我需要能够接受来自客户端应用程序的POST图像/文件。使用webapi可以吗?以下是我目前正在使用的操作。有谁知道一个例子,这应该如何工作? [HttpPost] public string ProfileImagePost(HttpPostedFile profileImage) { string[] extensions = { ".jpg", ".jpeg", ".gif", ".bmp", ".png" }; if (!extensions.Any(x => x.Equals(Path.GetExtension(profileImage.FileName.ToLower()), StringComparison.OrdinalIgnoreCase))) { throw new HttpResponseException("Invalid file type.", HttpStatusCode.BadRequest); } // Other code goes here return "/path/to/image.png"; }
254 c#  asp.net-mvc-4 

8
如何在C#中重载方括号运算符?
例如,使用DataGridView,您可以执行以下操作: DataGridView dgv = ...; DataGridViewCell cell = dgv[1,5]; 但是对于我来说,我找不到索引/方括号运算符的文档。他们怎么称呼它?在哪里实施?能扔吗?我如何在自己的课堂上做同样的事情? ETA:感谢您提供所有快速解答。简要地说:相关文档在“项目”属性下;重载的方法是通过声明一个类似的属性public object this[int x, int y]{ get{...}; set{...} }; 至少根据文档,DataGridView的索引器不会抛出。它没有提到如果您提供无效的坐标会发生什么。 再次ETA:好的,即使文档中没有提及它(顽皮的Microsoft!),事实证明,如果为DataGridView的索引器提供了无效的坐标,则实际上它会抛出ArgumentOutOfRangeException。公平警告。

10
如何在Visual Studio中调试单个线程?
我有一些项目的解决方案。不同项目中有几个断点。我想跟踪第一个遇到这些断点的线程,并继续跟踪该单个线程,尽管其他线程进入了相同的代码块。 我知道可以通过在断点上定义一个条件来实现这一点,即线程名称= ...或线程ID = ...,但是我的情况是负载很重的ASP.NET应用程序,并且一旦附加到w3wp.exe许多线程将达到断点。我需要一些东西ThreadLocal<break-point>。 可能吗?如果是这样,怎么办?


12
指定的参数超出有效值范围。参数名称:site
我收到这种错误: 指定的参数超出有效值范围。参数名称:site 在调试我的任何项目时。 重新安装My Visual Studio 2012之后,我也尝试过。但是同样,调试时遇到的同样问题。 我的系统的配置是: Windows 8:32位 Visual Studio:2012年 显示网页类似时抛出异常, [ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: site] System.Web.HttpRuntime.HostingInit(HostingEnvironmentFlags hostingFlags, PolicyLevel policyLevel, Exception appDomainCreationException) +298 [HttpException (0x80004005): Specified argument was out of the range of valid values. Parameter name: site] System.Web.HttpRuntime.FirstRequestInit(HttpContext …

24
对于i = 0,为什么(i + = i ++)等于0?
采用以下代码(可用作控制台应用程序): static void Main(string[] args) { int i = 0; i += i++; Console.WriteLine(i); Console.ReadLine(); } 结果i为0。我期望为2(就像我的一些同事一样)。编译器可能会创建某种导致i零的结构。 我期望2的原因是,按照我的观点,将首先评估右手陈述,将i加1。然后将其加到i。因为我已经是1,所以它将1加1。所以1 + 1 =2。显然,这不是正在发生的事情。 您能解释一下编译器做什么或在运行时发生什么吗?为什么结果为零? 某种免责声明:我绝对知道您不会(也许不应该)使用此代码。我知道我永远不会。不过,我发现知道为什么以这种方式起作用以及正在发生的事情很有趣。
253 c#  .net 

14
反射-获取属性的名称和值
我有一个类,可以使用名为Name的属性将其命名为Book。有了该属性,我就有了与之关联的属性。 public class Book { [Author("AuthorName")] public string Name { get; private set; } } 在我的主要方法中,我正在使用反射,并希望为每个属性获取每个属性的键值对。因此,在此示例中,我希望属性名称看到“ Author”,属性值看到“ AuthorName”。 问题:如何使用反射获得属性名称和属性值?



22
处理程序“ ExtensionlessUrlHandler-Integrated-4.0”的模块列表中有错误的模块“ ManagedPipelineHandler”
老实说,我尝试过对IIS进行欺骗,而当我以为自己想摆脱它时,我意识到我的解决方法不起作用。这是我尝试做的事情: 1)我有一个ASP.NET应用程序,该应用程序具有继承IProcessHostPreloadClient的Preloader类,并在Preload方法实现中进行了所有繁重的初始化工作(应用程序很复杂,并且是一个庞大系统的一部分,因此大约需要2分钟才能建立与所有必要组件的连接服务并预先实例化一些Unity注册)。 2)我需要在应用程序关闭时完成许多工作(取消订阅,断开连接,处分……),我想最好的选择是在Global.asax中的* Application_End *方法中。 3)当我有用户活动时,一切工作都很好(启动包含上述Web应用程序的应用程序池后的第一个请求将导致* Application_Start *被调用,然后* Application_End *在应用程序池停止或回收时被调用),但是问题当没有用户活动并且应用程序在活动48小时(配置的要求)后尝试重新启动自身时,会发生这种情况。由于没有任何请求,因此正式没有开始申请。抱歉,由于不会调用* Application_End *,因此无法正常停止。 4)现在是混乱的部分...我试图在Preload方法的末尾从代码发出GET请求,并且它起作用了。但是这种解决方案对我来说似乎很糟糕,即使它可行。因此,我尝试了很多事情,而我最后尝试的是: SimpleWorkerRequest swr = new SimpleWorkerRequest(string.Empty, string.Empty, tw); HttpRuntime.ProcessRequest(swr); ...达到了目的。* Application_Start *被调用,(我检查了响应,它包含应该在初始请求中显示的登录页面),并通过在* Application_End *中进行必要的工作而在Application Pool关闭时正常关闭了应用程序。 但 以这种方式启动(预加载和启动)应用程序之后,这就是我想通过Web浏览器访问应用程序时发生的事情: HTTP错误500.21-内部服务器错误处理程序“ ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中包含错误的模块“ ManagedPipelineHandler” 我无法弄清楚。谁能告诉我为什么会这样以及如何解决呢? 如果我不知道这一点,我将返回第一个解决方案(从代码发送GET请求),但是由于我什至不知道出了什么问题,所以这个问题会困扰我。

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.