ASP.net MVC项目构建注意事项


前提条件是安装Microsoft Visual Studio

.net framework版本

既然要使用.net framework,首先就要确定用什么版本,这就和服务器已安装的.net framework版本息息相关了(当然也可以不管服务器安装了什么版本,直接用最新的版本,在部署时再在服务器上安装相应需要的版本,但是在很多公司的服务器都是仅能访问内网的,所以需要下载脱机安装包,如4.6.2脱机安装程序下载
),然而我刚入司,很害怕一通操作把唯一的外网服务器给弄崩掉,所以直接使用服务器上有的.net framework版本。

查看服务器.net framework版本

1.打开注册表
windows + R运行regedit.exe,打开注册表
在这里插入图片描述
2.对于1-4版本的.net framework,在注册表中按以下路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
可以看到安装过的所有的1-4版本.net framwork:
在这里插入图片描述
3.对于4.5及以上版本的.net framework,在注册表中按以下路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
在这里插入图片描述
通过"Release"的值判断版本,对照以下表:
在这里插入图片描述

创建项目

确定使用.net framework4.5版本,创建MVC项目

日志的使用

1.用**"管理NuGet程序包"引入log4net.dll程序集**
在项目上右键->管理NuGet程序包->浏览->log4net
选择安装
在这里插入图片描述
2.在项目的Web.config文件中插入代码:

<configSections>
	    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
</configSections>

位置如下:
在这里插入图片描述
3.继续在Web.config文件中插入代码:

<log4net>
		<appender name="SysLogAppender" type="log4net.Appender.RollingFileAppender">
			<!--日志文件位置-->
			<param name="File" value="log\\"></param>
			<param name="AppendToFile" value="true"></param>
			<param name="RollingStyle" value="Date"></param>
			<param name="DatePattern" value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;"></param>
			<param name="StaticLogFileName" value="false"></param>
			<layout type="log4net.Layout.PatternLayout">
				<conversionPattern value="[时间]:%d%n[级别]:%p%n[内容]:%m%n%n"></conversionPattern>
			</layout>
		</appender>

		<root>
			<level value="INFO"></level>
			<appender-ref ref="SysLogAppender"></appender-ref>
		</root>
</log4net>

位置如下:
在这里插入图片描述
4.在Global.asax文件中插入以下代码:

log4net.Config.XmlConfigurator.Configure();

位置如下:
在这里插入图片描述
5.使用,在要使用的文件中引入log4net程序集,再声明一个日志对象就可以使用了:
在这里插入图片描述
使用效果如下:
在项目中增加了log文件夹用于存放日志:
在这里插入图片描述
日志格式如下:
在这里插入图片描述

隐藏IIS和MVC版本信息

主要包括以下信息:

  • X-AspNetMvc-Version
  • X-AspNet-Version
  • X-Powered-By
  • Server

1.隐藏MVC版本信息(X-AspNetMvc-Version):在Global.asax的Application_Start方法中插入代码:

MvcHandler.DisableMvcResponseHeader = true;

如图所示:

2.隐藏asp.net版本信息(X-AspNet-Version):在Web.config文件的system.web节点下的httpRuntime节点增加属性:

enableVersionHeader="false"

如图所示:
在这里插入图片描述
3.隐藏X-Powered-By节点:在web.config文件中插入以下节点:

<system.webServer>
    <httpProtocol>
      <customHeaders>
        <remove name="X-Powered-By" />
      </customHeaders>
    </httpProtocol>
  </system.webServer>

如图所示:
在这里插入图片描述

4.隐藏IIS版本信息:在Global.asax文件中增加以下方法:

protected void Application_PreSendRequestHeaders(object sender, EventArgs e)
{
      HttpApplication application = sender as HttpApplication;
      if (application != null && application.Context != null)
      {
            application.Context.Response.Headers.Remove("Server");
      }
}

如图所示:
在这里插入图片描述
可以看到,在请求的response.header里面已经没有了这四个信息:
在这里插入图片描述
可以开始开发~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值