一、默认配置情况导致的异常情况(还是需要根据服务情况勾选选项)
在windows Server 2016 的系统中,正常配置iis服务,
点开 开始菜单,选择打开【服务器管理器】
在服务器管理器的界面中点击配置此本地服务器下方的【添加角色和功能】
开启添加角色和功能向导的界面,按向导开始进行安装配置操作。点击【下一步】继续。
因需要的是在本机进行安装配置,这里的操作选项点击【基于角色或基于功能的安装】。点击【下一步】继续。
从服务器池中选择服务器,这里选择是本机服务器。点击【下一步】继续。
在服务器角色中勾选【web服务器(IIS)】,完成相关的选项后点击【下一步】继续。
进入需要安装功能的选项界面,如果需要安装.NET framework 3.5该功能,可以勾选该选项(若没有选择自己已安装的版本,会出现下面的异常情况)。点击【下一步】继续。
进入角色服务选择界面,例如这里需要IIS网站支持ASP,则在应用程序开发的下方勾选ASP,如果还需要其他功能的支持,可以根据需要进行对应功能的勾选。完成选择后点击【下一步】继续操作。
完成上面的相关操作之后,基本就到了向导的最后一步【确认】操作,确认没有需要修改之处,便点击【安装】开始安装操作。
完成IIS服务的安装之后,打开IE浏览器,输入本机或者127.0.0.1的地址出现下面的界面,表示IIS服务安装成功。
因为在IIS中选择ASP的角色服务还需要进行一下相关手工配置操作。在Windows server 2016系统中点击开始菜单,在【Windows管理工具】下面点击并打开【Internet Information Services (IIS)管理器】,点击打开网站,找到需要配置ASP的网站,如这里为默认的【default web site】,然后点击开启右边的ASP图标。
进入ASP设置页面,找到“启用父路径”将后面的值改为TRUE,然后点击右上角的应用使其生效。这样该网站就可以支持ASP的应用了
此一般安装情况下,展示的页面:
没有asp.net的相关选项,部署在iis上的网站不能正常访问,
二、排查asp.net的安装情况
一开始还以为没有安装.net 的 sdk,
先确认已安装了aspnet
检查是否注册成功,通过cmd 的
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -lv
查看是否将安装的aspnet注册成功
若没有注册成功,则在执行命令
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
展示也已注册上去了
三、开始排查应用程序池的选择,
将部署的web项目中的 高级设置 中的 应用程序池 选择 .net4 保存后,还是没有asp.net的选项,访问不能访问aspx页面
四、重新排查iis配置信息
可排查的情况都已排查,就只能从iis配置入手重新排查一遍
角色服务选择界面的情况下,由于当前服务器应用的是.net4.x版本的,所以要勾选
ASP.NET v4.x 扩展性
ASP.NET v4.x 管理工具
应用程序开发 → .NET Extensibility34
若还需要其他需要,勾选自己所需选项即可,
然后按照步骤继续下一步,一直到配置完成
完成安装后重启IIS服务
然后就看到了正常的网站配置项 asp.net 的相关配置项了
通过测试,可以正常访问项目下的aspx页面了
五、但还是不能访问.ashx
还需要安装:
1>、 ASP.NET Core IIS Module
dotnet-hosting 的安装:
dotnet-hosting是.NET Core的一部分,主要用于在服务器上托管.NET Core应用程序。它包含了运行.NET Core应用程序所需的所有非SDK组件,例如AspNetCoreModuleV2等。通过安装dotnet-hosting,可以确保.NET Core应用程序能够在IIS上正确运行。
参考:
Download ASP.NET Core 9.0 Runtime (v9.0.3) - Windows Hosting Bundle Installer
2>、NDP452的安装:
开发人员可以使用 Visual Studio 2013、Visual Studio 2012 或第三方 IDE 来生成面向 MS.NET Framework 4.5.2 的应用程序。
参考:https://www.microsoft.com/zh-cn/download/details.aspx?id=42637
完成安装后重启IIS服务
一般情况下可以访问.ashx 文件下的接口了