ASP.NET是一种基于微软公司的.NET平台的Web应用程序框架,它允许开发人员使用多种编程语言来构建动态Web网站和Web应用程序。
准备工作
在开始制作ASP.NET网站之前,需要有以下几个基本条件:
安装Visual Studio或者Visual Studio Code等IDE
.NET Framework Runtime环境
IIS服务器
创建新项目
打开Visual Studio,选择File -> New -> Project,在弹出的窗口中选择ASP.NET Web Application,并给项目命名。接着,选择一个模板(如Empty、MVC、Web Forms等),并点击Create按钮。
添加页面和控件
在Solution Explorer中,右键单击项目名称,选择Add -> New Item。在弹出的窗口中选择要添加的页面类型(如Web Form、MVC View等),并命名文件名称。接着,在页面中拖动所需的控件(如文本框、按钮、标签等)到设计视图中即可。
编写代码逻辑
为了使网站可以交互和响应用户操作,需要编写代码来处理用户请求和数据传输。在ASP.NET中,可以使用多种编程语言(如C#、VB.NET等)来编写代码逻辑。在页面中,可以使用CodeBehind文件或者内联代码的方式来编写。
调试和发布网站
在开发过程中,需要不断地对网站进行调试和测试。在Visual Studio中,可以使用调试工具(如断点、输出窗口等)来进行调试。当网站完成后,需要将其部署到服务器上,使用户可以访问。在Visual Studio中,可以通过Publish功能将网站发布到IIS服务器上。
<?xml version="1.0"?>
<!--
注释
-->
<configuration>
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
<appSettings>
<add key="DbServer" value="10.10.10.10"/>
<add key="DbUser" value="admin"/>
<add key="DbPwd" value="admin123456"/>
<add key="DbName" value="DbHuifu"/>
<add key="Forget" value="http://www.xxx.com/forget.aspx"/>
</appSettings>
<connectionStrings/>
<system.web>
<!--
设置 compilation debug="true" 将调试符号插入
已编译的页面中。但由于这会
影响性能,因此只在开发过程中将此值
设置为 true。
-->
<httpHandlers>
<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>
<httpModules>
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>
</httpModules>
<compilation debug="true" targetFramework="4.0"/>
<httpRuntime requestValidationMode="2.0" />
<!--
通过 <authentication> 节可以配置 ASP.NET 使用的
安全身份验证模式,
以标识传入的用户。
-->
<authentication mode="Windows"/>
<!--
如果在执行请求的过程中出现未处理的错误,
则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
开发人员通过该节可以配置
要显示的 html 错误页
以代替错误堆栈跟踪。
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
<globalization fileEncoding="gb2312" requestEncoding="gb2312" responseEncoding="gb2312"/>
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/></system.web>
</configuration>
这是整个网站的配置,可以随时修改网站,修改后,网站会自动加载,而不用重新发布网站。在代码中,使用:System.Configuration.ConfigurationManager.AppSettings["DbServer"]来访问对应的配置。请注意,运行时使用System.Configuration.ConfigurationManager.AppSettings["DbServer"]才有效,如果代码在初始化时,就连接了DB,此时,除非代码里做了失败重试(重新使用新的配置System.Configuration.ConfigurationManager.AppSettings["DbServer"]去访问),不然系统还是用的老的配置项,访问数据库将会失败。
<%@ Application Language="C#" %>
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码, 修改配置会重新执行一遍这些代码。
string db_server = System.Configuration.ConfigurationManager.AppSettings["DbServer"];
string db_user = System.Configuration.ConfigurationManager.AppSettings["DbUser"];
string db_pwd = System.Configuration.ConfigurationManager.AppSettings["DbPwd"];
string db_name = System.Configuration.ConfigurationManager.AppSettings["DbName"];
db.DbOpMain.SetParams(db_server, db_user, db_pwd);
db.DbOpMain.SetDbname(db_name);
Common.Op.LoadSysUserList();
//-----------expire memory--------------------------
io.expire_memory.Instance().Init(true, 10);
thread.ThreadPoll.SetThreadNum(1);
hread.ThreadPoll.SetMaxTaskNum(1);
thread.ThreadPoll.Execute(new Huifu.Common.CleanMemTask());
//---------------------HotQuestionRandomStart-------------
string date_start = System.Configuration.ConfigurationManager.AppSettings["HotQuestionRandomStart"];
Common.Def.HotQuestionRandomStart = DateTime.Parse(date_start);
}
void Application_End(object sender, EventArgs e)
{
// 在应用程序关闭时运行的代码
}
void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码
}
void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码
}
void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不引发该事件。
}
</script>
global.asax是网站启动时,会执行的代码。在这里,适合把DB连接,多线程初始化,内存池初始化等做好。