windows部署iis

IIS部署错误: 403.14-Forbidden Web 服务器被配置为不列出此目录的内容

部署你的dotnet 程序到IIS的时候,经常会遇到如下错误

如果你按它上面的提示把目录浏览开启的话,那就too yong, too naive,开启目录浏览会直接显示文件的目录。

一般情况下,IIS接受到请求后,如果是静态的文件,比如html , css,javascript文件,它会直接请求文件,前将返回的结果返回给客户端,那如果不是静态文件呢,比如:asp, aspx, php等请求呢,这时候IIS会把请求交给对应扩展API模块来处理。接管.net 者asp.net mvc请求扩展API的名字叫isapi, 所以先得检查一下这个Module有没有,如下:

img

如果上面这个模块没有的话,那需要到:控制面板-》启用或关闭Window功能=》Web服务器(IIS)中启用ASP.NET 4.6、ISAPI扩展,如下图:

img

安装成功之后,再来看看那个模块(Module)中有没有isapi,如果有的话,那网站就可以正常打开了。如果还打不开,可以采用以下办法。

(1)打开IIS的”处理程序映射设置“,在右边的操作栏下有 ”添加脚本映射“

请求路径:*

可执行文件:C:\Windows\Microsoft.NET\Framework \v4.0.30319\aspnet_isapi.dll (2)改配置文件web.config配置文件的配置节点

<system.webServer> </system.webServer>

要设置节的值为true, 而目录浏览启用或禁用其实都没影响的。

当前标识(IIS APPPOOL\XXXX)没有对“C:*Windows**Microsoft*.NET*Framework64*\v4.0.30319*Temporary* ASP.NET Files”的写访问权限。

解决当前标识(IIS APPPOOL\XXXX)没有对“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files”的写访问权限的问题 
解决办法
以管理员身份运行PowerShell;

然后运行如下命令(注意命令中的IIS APPPOOL\XXXX为上述错误中括号中的内容):
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Aspnet_regiis.exe -ga 'IIS APPPOOL\XXXX'

Windows IIS 出现用户 'IIS APPPOOL\(应用池登录名)' 登录失败。的解决办法

首先检查项目 里的web.config配置(Integrated Security=True;//集成验证模式)里是否开启了集成验证模式(因为需和IIS应用程序池里发布的项目保持一致)

如果项目开启了集成验证模式,那可能就是应用程序池里发布的网站的标识问题。

选择对应的网站,右击找到高级设置—进程模型 —标识修改为LocalSystem

标识修改为LocalSystem后还是报错?

问题:无法打开登录所请求的数据库 "MyDB"。登录失败。\r\n用户 'NTAUTHORITY\SYSTEM' 登录失败。

解决方法如下:选择安全性 —登录名—选择“NT AUTHORITY/SYSTEM”—右键属性—服务器角色—勾选sysadmin

Login failed for user 'NT AUTHORITY\IUSR'.

\3. 打开SQL Server Management Studio -> Security -> Logins -> 右键 New Login... -> Login name 填入 NT AUTHORITY\IUSR -> OK

在新建的用户 NT AUTHORITY\IUSR 上点击右键属性 Properties -> Server Roles 选中 public 和 sysadmin -> User Mapping 选中你的数据库,在 Default Schema 列填入 dbo -> OK 搞定!

手机浏览器访问asp.net网站报错分析器错误消息: 未能加载类型“xxx.Site_Mobile”

错误是因为启用了 ASP.NET Friendly URLs移动设备检测功能,它会自动在用户使用手机访问时尝试加载 *.Mobile.master*.mobile.aspx 页面。

默认识别了手机ua然后使用手机的模板 取消使用才行

取消 ASP.NET 中对移动设备(Mobile)专用页面(如 Site.Mobile.Master)的自动启用,强制所有设备(包括手机)都使用桌面版的 Site.Master

asp.net中启用了代码	文件	行	列
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.Mobile.master.cs" Inherits="心理健康系统.Site_Mobile" %>	F:\Merchant\merchant202603\HeartConsult\心理健康系统\心理健康系统\Site.Mobile.Master	1	101
,能不能取消手机的启用,全部使用电脑的site

核心思路
你的项目中通过 Site.Mobile.Master 区分了手机端母版页,要取消手机端适配,本质是:
移除所有页面对 Site.Mobile.Master 的引用;
统一指向电脑端的 Site.Master;
(可选)清理框架自动识别移动端的配置。
步骤 1:修改页面的母版页引用
找到项目中所有引用 Site.Mobile.Master 的 .aspx 页面(包括后台代码),将母版页路径替换为电脑端的 Site.Master。
示例:修改前(手机端页面)
aspx
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Mobile.Master" AutoEventWireup="true" CodeBehind="Index.Mobile.aspx.cs" Inherits="心理健康系统.Index_Mobile" %>
示例:修改后(统一用电脑端母版)
aspx
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="心理健康系统.Index" %>
注意:
如果有单独的 XXX.Mobile.aspx 页面,可直接删除(或重命名为普通 .aspx 后修改母版引用);
确保 Site.Master 的路径正确(~/ 表示网站根目录)。
步骤 2:清理移动端母版页配置(关键)
ASP.NET 有自动识别移动端并切换母版页的机制,需要手动关闭:

App_Start/RouteConfig.cs禁用移动视图// 👇 关键:禁用移动设备专用视图(即不再查找 *.Mobile.* 文件)