Tag: asp.net

ASP.Net MVC控制器返回void的操作

如果我有以下控制器操作… public void DoSomething() { } 框架会把它转换成这个吗? public EmptyResult DoSomething() { return new EmptyResult(); }

IIS:空闲超时与回收

在IIS中有两个领域(以及两个以上)可以进行回收: 1)在“Process Model”部分 – >“Idle Timeout”(默认20分钟) 和 2)在“回收”部分 – >“常规时间间隔”(默认1740米) 我的问题是… a)两种方法有什么区别? b)将它们设置为0的负面影响是什么? 谢谢!

ConfigurationManager.AppSettings 每次都从web.config文件中读取?

我只是想知道如何ConfigurationManager.AppSettings [Key]的作品? 每次我需要一个密钥时,是否从物理文件中读取? 如果是这样,我应该读取我的web.config在caching中的所有应用程序设置,然后从中读取? 或者ASP.NET或IIS在application_startup中加载web.config文件,并且只加载一次。 如何validation每次读取是否访问物理文件? 如果我更改web.config,IIS重新启动我的应用程序,所以无法validation它的方式。 谢谢,

为什么使用asynchronous请求而不是使用更大的线程池?

在荷兰的Techdays期间,Steve Sanderson就C#5,ASP.NET MVC 4和asynchronousWeb进行了演示。 他解释说,当请求花费很长时间才能完成时,线程池中的所有线程变得繁忙,新的请求必须等待。 服务器无法处理负载,一切都变慢。 然后,他展示了如何使用asynchronousWeb请求提高性能,因为工作被委托给另一个线程,并且线程池可以快速响应新的传入请求。 他甚至演示了这一点,并表明50个并发请求首先花费50 * 1s,但asynchronous行为总共只有1,2秒。 但看到这个我还有一些问题。 为什么我们不能只使用一个更大的线程池? 不使用asynchronous/等待来调出另一个线程较慢,然后从一开始就增加线程池? 这不像我们运行的服务器突然得到更多的线程或东西? 来自用户的请求仍然在等待asynchronous线程完成。 如果池中的线程正在做其他事情,“UI”线程如何保持忙碌? 史蒂夫提到了“一个聪明的内核,知道什么时候完成”。 这个怎么用?

如何在ASP.Net中发送状态码500并仍写入响应?

我有一个ASP.Net单文件Web服务(一个包含IHttpHandler实现的.ashx文件),需要能够以500个内部服务器错误状态代码作为响应返回错误。 在PHP中这是一个相对简单的事情: header("HTTP/1.1 500 Internal Server Error"); header("Content-Type: text/plain"); echo "Unable to connect to database on $dbHost"; ASP.Net(C#)等价物应该是: Context.Response.StatusCode = (int)HttpStatusCode.InternalServerError; Context.Response.ContentType = "text/plain"; Context.Response.Write("Unable to connect to database on " + dbHost); 当然,这并不像预期的那样工作。 相反,IIS拦截了500个状态码,将我写到Response对象的任何东西都刷新,并根据应用程序的configuration发送debugging信息或自定义错误页面。 我的问题 – 我怎么能抑制这种IIS行为,并直接从我的IHttpHandler实施发送错误信息? 这个应用程序是从PHP端口; 客户端已经写了,所以我基本上坚持这个规范。 用200状态码发送错误很遗憾,不适合模具。 理想情况下,我需要以编程方式控制行为,因为这是我们想要分发的SDK的一部分,而不需要任何“ 编辑此文件 ”和“ 更改此IIS设置 ”的补充说明。 谢谢! 编辑 :sorting。 Context.Response.TrySkipIisCustomErrors = true是票据。 哇。

如何检查用户是“login”?

我在ASP.NET应用程序中使用下面的方法使用表单身份validation FormsAuthentication.RedirectFromLoginPage(txtUsername.Text, true); 如何检查用户是否login? 我怎样才能得到login用户的用户名?

有没有办法自动包含内容文件到asp.net项目文件?

我经常向ASP.NET项目中添加大量的内容文件(主要是图片和js)。 我正在使用VS发布系统,在发布时,只有在将它们包含在项目中时才会发布新文件。 我想自动包含指定目录中的所有文件。 有没有办法指定哪些目录应自动包含在csproj文件或其他地方?

从Web.Config读取variables

我怎样才能添加和读取web.config文件的值?

获取DisplayName属性,而不使用asp.net MVC中的LabelFor Helper

检索模型中项目的显示名称属性的最佳方法是什么? 我看到很多人使用LabelFor的帮手来处理所有事情,但是如果我只想列出数据,标签就不合适。 是否有一个简单的方法只是获得名称属性,如果我只是想打印出来,说一个段落?

ASP.NET MVC – 捆绑configuration顺序

我想在我的ASP.NET MVC 5应用程序中使用特定的区域(es-CL)。 我有以下几点: 将web.config文化和文化改为“es-CL” 安装了Globalize和jQuery.Validation.Globalize包 在我的意见中更改了默认语言: <html lang="es-cl"> 创build了一个新的Bundle并包含在相应的视图中。 在BundleConfig.cs中 : bundles.Add(new ScriptBundle("~/bundles/jqueryval") .Include("~/Scripts/jquery.validate.js") .Include("~/Scripts/jquery.validate.unobtrusive.js")); bundles.Add(new ScriptBundle("~/bundles/globalization") .Include("~/Scripts/globalize/globalize.js") .Include("~/Scripts/globalize/cultures/globalize.culture.es-CL.js") .Include("~/Scripts/jquery.validate.globalize.js")); 在适当的意见: @section Scripts { @Scripts.Render("~/bundles/jqueryval") @Scripts.Render("~/bundles/globalization") } 但是,生成的源代码如下所示: <script src="/Scripts/jquery.validate.js"></script> <script src="/Scripts/jquery.validate.unobtrusive.js"></script> <script src="/Scripts/jquery.validate.globalize.js"></script> <script src="/Scripts/globalize/globalize.js"></script> <script src="/Scripts/globalize/cultures/globalize.culture.es-CL.js"></script> 请注意, jquery.validate.globalize.js脚本正在加载globalize.js之前,这不是我想要的。 为什么发生这种情况? 是否有可能依靠单一包中的包含顺序,还是我不得不把这个单独的脚本放在不同的包中,并在我的视图中指定它?