Net6 Core Api发布到IIS不同于webapi,依赖框架不同,配置也移至项目内Program.cs

一、发布到指定文件夹,和IIS,不过注意IIS应用程序池选择的是 “无托管代码“

访问接口路径报500.19,原因是所依赖的框架不同,需要下载安装指定的依赖环境(查看第二点)

二、查看项目框架和下载,

下载地址

https://dotnet.microsoft.com/download/dotnet

我这里使用的是.Net6.0,要下载高于此版本的环境

点击你要下载的版本

下载了对应位数的安装

下载完成后可以在控制面板-程序和功能看到

此时运行可能还会报404

需要到发布文件下修改web.config文件(这步有时候需要有时候不需要)

<aspNetCore processPath="dotnet" arguments=".\Signin.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess">
  <environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
  </environmentVariables>
</aspNetCore>

成功访问

执行点击登录后可能会出现下面错误

如果出现下面这个错误就是因为没有执行上步修改webconfig文件(修改后这个错误就没了)

出现错误2

原因:其实就是说明我们这个网站需要认证了才能访问

解决:

查看该网页使用的是什么身份认证(默认是匿名身份验证)

发现是启用的是匿名身份验证

匿名身份验证表示不需要登录都可以访问

右键编辑发现他选择的特定用户是IUSR

查看IUSR是否有权限(右击这个网页编辑权限)

查看并没有这个用户

解决一: 我们可以让他和应用程序池使用同一个用户

点击发布网页=》打开身份验证=》右键匿名身份验证编辑

选择应用池标志按钮

查看应用程序池使用的用户是哪个

标识其实就是用户

再次浏览发现还是不行

那么修改一下程序池的用户,改一个级别高的

选择localsystem,这个权限很高的

再次刷新网页进行浏览

此时本地又报一个新错

错误信息

An unhandled exception occurred while processing the request.
SqlException: 无法打开登录所请求的数据库 "ProgramTest"。登录失败。
用户 'NT AUTHORITY\SYSTEM' 登录失败。
InvalidOperationException: An exception has been raised that is likely due to a transient failure. Consider enabling transient error resiliency by adding 'EnableRetryOnFailure' to the 'UseSqlServer' call.

问题出现原因:

无法打开登录所请求的数据库 “xxxxxx”。登录失败。
用户 'IIS APPPOOL\xxxxxxxxxxxx 登录失败。

或者这样的错误信息:

异常详细信息: System.Data.SqlClient.SqlException: 用户 ‘IIS APPPOOL\xxxxxxxx’ 登录失败。

在Visual Studio 2010调试模式下,没有问题,配置到IIS就出错.原因是权限问题.

在IIS中默认是不允许window集成登录的,改为帐号密码登录就没有问题了,服务器名最好填写ip地址/实例名这样的格式,以免报错.

1.若应用程序的连接字符串是windows集成登录 ,将其改成用户名密码登录
所以将连接字符串改为使用用户名登录即可

    //"SystemCenterProject": "Data Source=.;Initial Catalog=ProgramTest;Integrated Security=True;TrustServerCertificate=true",
"SystemCenterProject": "Data Source=.;Initial Catalog=ProgramTest;User ID=sa;Pwd=123456;TrustServerCertificate=true"

连接字符串并且必须加‘TrustServerCertificate=true’,否则会报错

Microsoft.Data.SqlClient.SqlException 证书链是由不受信任的颁发机构颁发的 - 知乎 (zhihu.com)

发布网页运行成功,并且登录成功

解决二: 使用特定用户账号  (不做参考-不正确可能)

不使用应用程序池的用户。

选择特定用户

编辑用户名为IUSR

将相应程序池设置成原先默认的

程序池标识改为原先默认

确定后,点击相应应用程序池回收

网站重新启动,然后浏览

Net6 Core Api(.net6)发布到IIS注意事项及显示HTTP 错误500.19解决方法的更多相关文章

  1. Asp.Net Core子应用由于配置中重复添加模块会引起IIS错误500.19

    ASP.NET Core已经从IIS中解耦,可以作为自宿主程序运行,不再依赖IIS. 但我们还是需要强大的IIS作为前置服务器,IIS利用httpPlatformHandler模块来对后台的一些web ...

  2. Net Core子应用由于配置引起IIS错误500.19

    Asp.Net Core子应用由于配置中重复添加模块会引起IIS错误500.19 ASP.NET Core已经从IIS中解耦,可以作为自宿主程序运行,不再依赖IIS. 但我们还是需要强大的IIS作为前 ...

  3. IIS发布网站浏览之后看到的是文件目录 & Internal Server Error 处理程序“ExtensionlessUrlHandler-ISAPI-4.0_64bit”在其模块列表中有一个错误模块“IsapiModule” 解决方法 & App_global.asax.pduxejp_.dll”--“拒绝访问。 ”

    Q:IIS发布网站浏览之后看到的是文件目录 A:它出现了一个说到.NET4.0 更高框架什么的错误,所以我将 .NTE CRL版本由4.0改为2.0了,改为2.0后就出现了只能浏览文件目录了.改为4. ...

  4. asp.net mvc项目使用spring.net发布到IIS后,在访问提示错误 Could not load type from string value 'DALMsSql.DBSessionFactory,DALMsSql'.

    asp.net mvc项目使用spring.net发布到IIS后,在访问提示错误 Could not load type from string value 'DALMsSql.DBSessionFa ...

  5. [代码]--IIS发布网站浏览之后看到的是文件目录 & Internal Server Error 处理程序“ExtensionlessUrlHandler-ISAPI-4.0_64bit”在其模块列表中有一个错误模块“IsapiModule” 解决方法 & App_global.asax.pduxejp_.dll”--“拒绝访问。 ”

    Q:IIS发布网站浏览之后看到的是文件目录 A:它出现了一个说到.NET4.0 更高框架什么的错误,所以我将 .NTE CRL版本由4.0改为2.0了,改为2.0后就出现了只能浏览文件目录了.改为4. ...

  6. 关于 IIS 上运行 ASP.NET Core 站点的“HTTP 错误 500.19”错误

    昨天回答了博问中的一个问题 —— “HTTP 错误 500.19 - Internal Server Error dotnetcore”,今天在这篇随笔中时候事后诸葛亮地小结一下. 服务器是 Wind ...

  7. 针对windowsserver 创建iis站点访问出错的解决方案(HTTP 错误 500.19 - Internal Server Error)

    错误如下:   服务器错误 Internet信息服务 7.0 错误摘要HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效. 详 ...

  8. win server2012r2上发布网站常见错误 "HTTP 错误 500.19 请求的页面的相关配置数据无效" 解决办法

    HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效. 问题“详细错误信息模块 IIS Web Core通知 BeginReque ...

  9. win10 iis部署后 浏览目录报错 500.19

    错误摘要HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效.详细错误信息模块 IIS Web Core  通知 BeginReq ...

  10. 部署到IIS报错:HTTP错误500.19,错误代码0x800700d

    title=部署到IIS报错:HTTP错误500.19,错误代码0x800700d.   用vs直接运行网站没问题,部署到IIS就报错,由此可知应该是IIS中不支持网站相关配置. 查找发现在web.c ...

随机推荐

  1. nuxt.js安装使用

    首先要学会看文档,https://www.nuxtjs.cn/guide/configuration 一.创建项目,并运行 终端运行 npx create-nuxt-app <项目名> ( ...

  2. pythonfloat优雅的四舍五入

    开发中经常会有float四舍五入转int的需求,先看看浮点数直接转int的情形:无论如何float直接转int都不会四舍五入,而是直接抹去小数点. 这个需求很简单,实现也很简单,看过网友的实现,都不够 ...

  3. 经典 backbone 总结

    目录 目录 VGG ResNet Inceptionv3 Resnetv2 ResNeXt Darknet53 DenseNet CSPNet VoVNet 一些结论 参考资料 VGG VGG网络结构 ...

  4. 连号区间数【第四届蓝桥杯省赛C++B组,第四届蓝桥杯省赛JAVAB组】

    连号区间数 小明这些天一直在思考这样一个奇怪而有趣的问题: 在 \(1∼N\) 的某个排列中有多少个连号区间呢? 这里所说的连号区间的定义是: 如果区间 \([L,R]\) 里的所有元素(即此排列的第 ...

  5. 《STL源码剖析》STL迭代器分类

    input迭代器:只能向前移动,一次一步,用户只能读取,不能修改它们所指向的东西,而且只能读取一次. output迭代器情况类似,但一切只为输出:它们只能向前移动,一次一步,用户只可以修改它们所指向的 ...

  6. 在Typescript项目中,使用ESLint和Prettier,以及解决保存代码后ESLint配置冲突问题

    首先,检查项目中根目录.eslintrc.js文件,该文件中定义了ESLint的基础配置,找到其中的rules 例如: const prettierConfig = require('./.prett ...

  7. DVWA靶场实战(十一)——XSS(Reflected)

    DVWA靶场实战(十一) 十一.XSS(Reflected): 1.漏洞原理: XSS被称为跨站脚本攻击(Cross Site Script),而Reflected被称作反射型XSS.不同于DOM和S ...

  8. 常见非指纹built-in函数

    unescape unescape() _函数_可对通过 escape() 编码的字符串进行解码. unescape("abcdefg") 'abcdefg' unescape(& ...

  9. Stream流中的常用方法_Foreach-Stream流中的常用方法_filter

    Stream流中的常用方法_Foreach 流模型的操作很丰富,这里介绍一些常用的API.这些方法可以被分成两种︰·延迟方法∶返回值类型仍然是Stream,接口自身类型的方法,因此支持链式调用.(除了 ...

  10. Gitlab配置ssh_key

    一.背景 当前很多公司都选择git作为代码版本控制工具,然后自己公司搭建私有的gitlab来管理代码,我们在clone代码的时候可以选择http协议,当然我们亦可以选择ssh协议来拉取代码.那么我们就 ...