Questions tagged «c#»

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

6
在ASP.NET MVC中执行异步操作使用.NET 4上ThreadPool中的线程
提出这个问题后,在ASP.NET MVC中使用异步操作时,我感到很舒服。因此,我就此写了两篇博客文章: 我对C#5.0和ASP.NET MVC Web应用程序中基于任务的异步编程的看法 ASP.NET MVC 4中使用基于任务的异步编程模型(TAP)进行异步数据库调用 我对ASP.NET MVC上的异步操作有太多误解。 我总是听到这句话:如果操作异步运行,应用程序可以更好地扩展 我也经常听到这样的句子:如果您的流量很大,最好不要异步执行查询-消耗2个额外的线程来为一个请求服务会占用其他传入请求的资源。 我认为这两个句子不一致。 我没有太多有关线程池如何在ASP.NET上工作的信息,但是我知道线程池的线程大小有限。因此,第二句话必须与此问题相关。 而且我想知道ASP.NET MVC中的异步操作是否使用.NET 4上ThreadPool的线程? 例如,当我们实现AsyncController时,应用程序如何结构?如果流量很大,实现AsyncController是个好主意吗? 有没有人可以把这个黑色的窗帘拉开,向我解释有关ASP.NET MVC 3(NET 4)异步的问题? 编辑: 我已经阅读了近百次以下文档,并且我了解主要交易,但是我仍然感到困惑,因为那里有太多不一致的评论。 在ASP.NET MVC中使用异步控制器 编辑: 假设我有如下所示的控制器动作(AsyncController虽然不是实现): public ViewResult Index() { Task.Factory.StartNew(() => { //Do an advanced looging here which takes a while }); return View(); } 如您在此处看到的,我执行了一项操作,却忘记了它。然后,我立即返回而无需等待它完成。 在这种情况下,这是否必须使用线程池中的线程?如果是这样,则在完成后,该线程将如何处理?GC完成后是否进来并进行清理? …


6
[A] System.Web.WebPages.Razor.Configuration.HostSection无法转换为…web.config问题
我收到以下错误: 无法将[A] System.Web.WebPages.Razor.Configuration.HostSection强制转换为[B] System.Web.WebPages.Razor.Configuration.HostSection。类型A源自'System.Web.WebPages.Razor,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'在上下文'Default'中位于位置'C:\ WINDOWS \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_2.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll'。类型B源自'System.Web.WebPages.Razor,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'在上下文'Default'中的位置'C:\ Users \ MyName \ AppData \ Local \ Temp \ Temporary ASP.NET文件\ root \ 63e7ff36 \ a1cb775d \ assembly \ …

8
检查属性是否具有属性
给定类中具有属性的属性-确定它是否包含给定属性的最快方法是什么?例如: [IsNotNullable] [IsPK] [IsIdentity] [SequenceNameAttribute("Id")] public Int32 Id { get { return _Id; } set { _Id = value; } } 确定其具有“ IsIdentity”属性的最快方法是什么?
158 c#  performance 




18
无法加载文件或程序集'System.Net.Http.Formatting'或其依赖项之一。该系统找不到指定的路径
我出于实践原因使用了一个小型MVC应用程序,但是现在每次尝试调试时都会遇到错误: Could not load file or assembly 'System.Net.Http.Formatting' or one of its dependencies. The system cannot find the path specified. 我已经用Google搜索,但是找不到解决方案。我正在使用.NET 4.5。 它不能是DLL文件,因为我正在使用.Net 4.5。


4
为什么在Visual Studio单元测试中的每个测试都会触发TestInitialize?
我使用Visual Studio 2010 Beta 2中我有一个单一的[TestClass],其中有一个[TestInitialize],[TestCleanup]和几个[TestMethods]。 每次运行测试方法时,初始化和清除方法也都运行! 我的印象是[TestInitialize]&[TestCleanup]每次本地测试只能运行一次。 那是对的吗?如果没有,执行此操作的正确方法是什么?

8
使用WPF / C#嵌入Chromium而不是IE WebBrowser控件的选项
基于Internet Explorer的WPF WebBrowser控件遭受一些键盘和焦点问题以及内存泄漏问题的困扰。作为这些问题的替代解决方案,我们正在考虑基于HTML编辑的WPF / C#项目中用于托管Chromium的可用选项,而不是WebBrowser控件。以前在这里已经问过类似的问题。我已经阅读了答案并进行了自己的研究,但我希望从实际在生产质量项目中使用以下任何选项的人那里获得更多反馈: Awesomium和Awesomium.NET 看起来非常合适,但是我不喜欢该项目不是开源的,并且不容易获得完整的源。同样,这对于我们的项目可能是一个过大的杀伤力,因为屏幕外渲染并不是我们真正依赖的东西。 用于CEF的Chromium嵌入式框架(CEF)和.NET绑定 这可能是当前可用的最佳选择。该项目似乎正在运行,目前正在与Chrome v27同步。CEF3使用Chrome多进程架构。看起来Adobe也在认可它。 Google的Chrome内嵌框架 虽然它的最初目的是成为IE和Firefox的HTML5插件,但实际上它也可以作为独立的ActiveX控件使用,因此我可以将其包装以与WPF一起使用。它提供了足够的API与内部网页(onmessage, addEventListener/removeEventListener, postMessage)进行交互。我知道Google将会停止使用 Chrome Frame,但是我认为来源仍将保留在Chromium存储库中。我们不难用最新的Chromium代码对其进行更新,并且我们将对此进行完全控制。 WebKit .NET包装器 并非完全基于Chromium,也不使用V8引擎,因此它并不是真正的选择。 还有其他我可能会忽略的选择吗? 如果有人将他/他的经验分享给现实生活中,具有生产质量的WPF项目,我将非常感激。您是否有任何集成,许可或部署方面的内容?谢谢。 [编辑] 我也要感谢artlung通过提供慷慨的赏金来推动这个问题的发展。

4
C#对象列表,如何获取属性的总和
我有一个对象列表。单个对象条目的一种属性是数量。我如何获得金额的总和? 如果我的列表是double类型的,则我可以执行以下操作: double total = myList.Sum(); 但是我想要类似的东西,但是这种语法是不正确的。 double total = myList.amount.Sum(); 我应该如何去实现呢?我希望尽可能使用Sum函数,而不是循环遍历并计算值。
158 c#  list  sum 

3
将Http标头添加到HttpClient
所有: 在将请求发送到Web服务之前,我需要将HTTP标头添加到HttpClient中。我该如何针对单个请求(而不是对所有将来的请求使用HttpClient)?我不确定这是否可能。 var client = new HttpClient(); var task = client.GetAsync("http://www.someURI.com") .ContinueWith((taskwithmsg) => { var response = taskwithmsg.Result; var jsonTask = response.Content.ReadAsAsync<JsonObject>(); jsonTask.Wait(); var jsonObject = jsonTask.Result; }); task.Wait();


15
将列表转换成逗号分隔的字符串
我的代码如下: public void ReadListItem() { List<uint> lst = new List<uint>() { 1, 2, 3, 4, 5 }; string str = string.Empty; foreach (var item in lst) str = str + item + ","; str = str.Remove(str.Length - 1); Console.WriteLine(str); } 输出: 1,2,3,4,5 将转换List<uint>为以逗号分隔的字符串的最简单方法是什么?
158 c#  .net 

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.