首页 > 编程语言 >如何用asp.net制作网站

如何用asp.net制作网站

时间:2024-04-08 18:02:45浏览次数:16  
标签:asp ConfigurationManager 代码 db System net Configuration 制作 NET

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服务器上。

WebConfig的编写

<?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"]去访问),不然系统还是用的老的配置项,访问数据库将会失败。

Global.asax

<%@ 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连接,多线程初始化,内存池初始化等做好。

最后

在写好web.config配置及初始化代码后,就是大家建设各子页面及其逻辑代码的过程。涉及具体代码逻辑,这里不展开讲。后续博主将会以一个段子网的建站实例,深入写下如何一步步建设网站。当然,还会涉及租云服务器,域名申请,数据库申请等操作。有兴趣的同学辛苦关注博主以获得后续的分享。

标签:asp,ConfigurationManager,代码,db,System,net,Configuration,制作,NET
From: https://blog.csdn.net/weixin_60437218/article/details/137354703

相关文章

  • 深圳阿里云代理商:asp.net如何提交数据库
    深圳阿里云代理商:asp.net如何提交数据库简介:飞机@luotuoemo本文由(阿里云代理商:【金推云】www.jintui.cn)撰写如何在ASP.NET中提交数据库阿里云代理商的优势作为深圳阿里云代理商,我们提供高效、安全、稳定的云计算服务,能够满足客户的各种需求。通过阿里云的弹性计算、数据......
  • 利用matlab的guide制作一个凯撒密码加解密演示界面
    第一步:在命令行窗口输入guide,回车选择新建gui如图所示,两个粉的是可编辑文本,一个按钮,三个写着字和一个白色的框是静态文本先把我们需要的这些东西都拉出来,数量记得到位,布局自己调粉色什么怎么调就自己探索一下,一般拉出来是白色双击其中一个静态文本,会弹出来一个对话框,......
  • .net xml序列化与xml反序列化
    序列化stringxmlStr="";vardto=newReqDto(){ErrorCode=200,ReqName="test"};XmlSerializerserializer=newXmlSerializer(typeof(ReqDto));using(StringWritertextWriter=newStringWriter()){serializer.Serialize(textWr......
  • CondeseNetV2:清华与华为出品,保持特征的新鲜是特征复用的关键 | CVPR 2021
    论文提出SFR模块,直接重新激活一组浅层特征来提升其在后续层的复用效率,而且整个重激活模式可端到端学习。由于重激活的稀疏性,额外引入的计算量非常小。从实验结果来看,基于SFR模块提出的CondeseNetV2性能还是很不错的,值得学习 来源:晓飞的算法工程笔记公众号论文:CondenseNet......
  • 甘特图/横道图制作技巧 - 任务组
    在甘特图中通过合理的任务分组可以让项目更加清晰,修改也更方便。 列如上面的甘特图一眼不太容易看清楚整体的进度。或者需要把所有的任务整体的延迟或者提前只能这样一个一个的任务调整,就比较麻烦。 通过给任务分组,看这上面整体的进度就非常清晰了。整体的进度调整任务进......
  • Spring Data JPA应用之动态查询JpaSpecificationExecutor
    JPA提供了基于准则查询的方式即Criterial查询——Specification接口。该接口定义了一个toPredicate方法用例构造查询条件。在SpringBoot对SpringDataJPA的支持案例的基础上对该接口实操进行探讨。1)数据访问接口必须实现JpaSpecificationExecutor......
  • 28_库的制作与使用
    库的制作与使用介绍​ 库是一种可执行的二进制文件,是编译好的代码。使用库可以提高开发效率。在Linux下有静态库和动态库。因此编译出来的体积就比较大。​ 静态库在程序编译的时候会被链接到目标代码里面。所以程序在运行的时候不再需要静态库了。因此编译出来的体积......
  • Manim教程之轻松制作数学动画
    【2024最新教程】Manim动画软件教程,像3blue1brown那样做动画【更新中】【2024最新教程】Manim动画软件教程,像3blue1brown那样做动画【更新中】_哔哩哔哩_bilibiliManim教程之轻松制作数学动画Manim教程之轻松制作数学动画_哔哩哔哩_bilibili我找到了3Blue1Brown做视......
  • WebSocket manager.js:115 GET http://IP:8000/socket.io/?EIO=4&transport=polling&t
    前言全局说明WebSocket报错net::ERR_CONNECTION_TIMED_OUT一、问题:WebSocket报错net::ERR_CONNECTION_TIMED_OUT二、原因:可能和后端的服务链接不上导致的三、解决方法:重启启动后端服务免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后......
  • 小白如何制作微信小程序的分享功能
    制作微信小程序的分享功能主要涉及以下几个步骤:注册小程序账号和配置开发环境添加分享按钮和监听分享事件获取分享详细信息自定义分享内容实现转发功能下面将逐步详细介绍这些步骤,并提供代码案例。一、注册小程序账号和配置开发环境登录微信公众平台(https://mp.weixin.qq.c......