这个问题之所以存在,是因为它确实存在 具有历史意义,但事实并非如此 被认为是一个很好的主题问题 因为是本网站,所以请不要使用 作为证据,你可以问类似的问题 这里的问题。 更多信息:https://stackoverflow.com/faq
总有一些功能在边缘场景中很有用,但正是因为这个原因,大多数人都不知道它们。我要求的是课本上通常没有教过的特性。
你知道的是什么?
这个问题之所以存在,是因为它确实存在 具有历史意义,但事实并非如此 被认为是一个很好的主题问题 因为是本网站,所以请不要使用 作为证据,你可以问类似的问题 这里的问题。 更多信息:https://stackoverflow.com/faq
总有一些功能在边缘场景中很有用,但正是因为这个原因,大多数人都不知道它们。我要求的是课本上通常没有教过的特性。
你知道的是什么?
当前回答
web.config中appsettings元素的'file'属性。
指定包含自定义应用程序配置设置的外部文件的相对路径。
如果你的应用程序设置很少,需要在不同的环境(prod)上进行修改,这是一个很好的选择。
因为网络的任何变化。配置文件会导致应用程序重新启动,使用单独的文件允许用户修改appSettings部分中的值,而不会导致应用程序重新启动。单独文件的内容与Web中的appSettings部分合并。配置文件。
其他回答
ASHX文件类型的使用: 如果你只想输出一些基本的html或xml,而不想通过页面事件处理程序,那么你可以用一种简单的方式实现HttpModule
将页面命名为SomeHandlerPage。Ashx和只是把下面的代码(只有一行)
<%@ webhandler language="C#" class="MyNamespace.MyHandler" %>
然后是代码文件
using System;
using System.IO;
using System.Web;
namespace MyNamespace
{
public class MyHandler: IHttpHandler
{
public void ProcessRequest (HttpContext context)
{
context.Response.ContentType = "text/xml";
string myString = SomeLibrary.SomeClass.SomeMethod();
context.Response.Write(myString);
}
public bool IsReusable
{
get { return true; }
}
}
}
你可以使用:
Request.Params[Control.UniqueId]
在viewstate初始化之前获取控件的值。文本等将在此时为空)。
这对于Init中的代码很有用。
HttpModules。建筑非常优雅。也许不是一个隐藏的功能,但仍然很酷。
你可以使用UniqueID属性找到任何控件:
Label label = (Label)Page.FindControl("UserControl1$Label1");
throw new HttpException(404, "Article not found");
这将被ASP捕获。NET,它将返回customErrors页面。在最近的.NET每日小贴士中了解了这一点