我在将站点部署到服务器时遇到错误.当尝试加载主页,或在IIS中的新站点上访问身份验证时,我收到错误:
配置错误:此配置部分不能在此路径中使用.当该部分被锁定在父级别时会发生这种情况.锁定是默认情况下(overrideModeDefault ="Deny"),或由locationMode ="Deny"或遗留allowOverride ="false"的位置标记显式设置.
可以在此处找到更多详细信息,在场景7中匹配我的十六进制错误代码.
上面链接站点上给出的解决方案是在applicationHost.config文件中的错误中提到的部分中为allowModeDefault 设置Allow.就我而言,在system.webServer中的Security下.但是,如果我查看本地计算机上已正确部署该站点的applicationHost.config,该部分将设置为Deny.
如果这个解决方案是正确的,我的本地实例如何使用相同的web.config运行得很好?根据我的applicationHost.config,该部分应该被锁定,但事实并非如此.我宁愿不更改applicationHost.config文件,因为该服务器上还有许多其他站点正在运行.还有其他解决方案吗?
我需要在我的IIS上使用Url Rewrite模块但它没有安装并说我至少需要IIS7
如何在IIS 10 W2016上安装Web部署?
到目前为止我已经尝试过
我尝试运行一个Blazor应用程序。
Web.Server runs .NET Core 3.0
Web.Client runs .NET Standard 2.0
Web.Shared runs .NET Standard 2.0
Run Code Online (Sandbox Code Playgroud)
发布并上传应用程序后,IIS我收到此错误:
HTTP Error 500.31 - ANCM Failed to Find Native Dependencies
Common solutions to this issue:
The specified version of Microsoft.NetCore.App or Microsoft.AspNetCore.App was not found.
Run Code Online (Sandbox Code Playgroud)
Event Viewer 包含此错误消息:
HTTP Error 500.31 - ANCM Failed to Find Native Dependencies
Run Code Online (Sandbox Code Playgroud)
当我运行dotnet --info我可以看到,我都Microsoft.NetCore.App和Microsoft.AspNetCore.App包含版本3:PS C:\用户\ FooBar的> DOTNET --info .NET核心SDK(反映任何global.json):版本:3.0.100-preview6-012264提交:be3f0c1a03
Runtime Environment:
OS Name: Windows
OS Version: 10.0.17763 …Run Code Online (Sandbox Code Playgroud) 如何在Windows 10开发者PC上启用IIS 10.0中的失败请求跟踪?
我可以找到IIS7和IIS8.5的说明(参见http://www.iis.net/learn/troubleshoot/using-failed-request-tracing/troubleshooting-failed-requests-using-tracing-in-iis-85)但似乎在IIS10中不可用.
根据上述说明,"操作"窗格中的"配置"下应该有一个"失败的请求跟踪"链接 - 但是在屏幕截图中看到它显然不存在: IIS操作窗格的屏幕截图
我们的大多数Web应用程序都包含Deploy.ps1 Powershell脚本.Octopus Deploy使用它在生产部署期间配置应用程序,但我们也使用它来设置开发人员的本地IIS设置.在Windows 7,Windows 8.1和我们所有的Win2012生产服务器上都可以正常工作.
它不适用于Windows 10,这似乎是因为Set-ItemPropertycmdlet无效.没有错误消息或任何东西,它只是没有做任何事情.
IIS站点api.example.com已经存在,我们使用Powershell创建/ myapp应用程序,然后将应用程序的物理路径更改为D:\ Projects\Demo
PS C:\> IIS:
PS IIS:\> cd Sites\api.example.com
PS IIS:\Sites\api.example.com> New-WebApplication myapp -site api.example.com -PhysicalPath C:\inetpub\wwwroot
Name Application pool Protocols Physical Path
---- ---------------- --------- -------------
myapp DefaultAppPool http C:\inetpub\wwwroot
PS IIS:\Sites\api.example.com> set-itemproperty myapp -name PhysicalPath -value D:\Projects\Demo
PS IIS:\Sites\api.example.com> get-itemproperty myapp
Name Application pool Protocols Physical Path
---- ---------------- --------- -------------
demo DefaultAppPool http C:\inetpub\wwwroot
^ THIS IS WRONG!
Run Code Online (Sandbox Code Playgroud)
在Windows 7上运行完全相同的命令集,您将获得相同的输出,但在最后一步,PhysicalPath属性已按预期更改:
PS IIS:\Sites\api.example.com> get-itemproperty myapp
Name Application pool …Run Code Online (Sandbox Code Playgroud) 我在IIS 10(Windows Server 2016)上托管了一个asp.net web api.当我GET从Microsoft Edge浏览器发出请求时,我看到它HTTP 2.0在IIS日志中使用
2015-09-20 21:57:59 100.76.48.17 GET /RestController/Native - 443 - 73.181.195.76 HTTP/2.0 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/42.0.2311.135+Safari/537.36+Edge/12.10240 - 200 0 0 7299
Run Code Online (Sandbox Code Playgroud)
但是,当GET通过.net 4.6客户端发出请求时,如下所示,
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("https://myapp.cloudapp.net/");
HttpResponseMessage response = await client.GetAsync("RestController/Native");
if (response.IsSuccessStatusCode)
{
await response.Content.CopyToAsync(new MemoryStream(buffer));
}
}
Run Code Online (Sandbox Code Playgroud)
我HTTP 1.1在服务器日志中看到以下日志
2015-09-20 20:57:41 100.76.48.17 GET /RestController/Native - 443 - 131.107.160.196 HTTP/1.1 - - 200 0 0 707
Run Code Online (Sandbox Code Playgroud)
如何让.net客户端使用HTTP/2.0?
我在Windows 10上安装了VS enter code here2017. .NET Core SDK但它没有安装ASPNETCoreModule如下图2所示.我认为.NET Core SDK应该隐式安装它 - 而且不必单独安装它.注意:我正在尝试将我的asp.net核心应用程序发布到IIS,并且发布过程需要ASPNETCoreModule如上面的链接以及此官方MSDN文章中所述.
缺少ASPNETCoreModule:
我们内部使用的ASP.NET核心应用程序在办公时间使用,批处理应该每天早上3点处理,HangFire如下所示:
RecurringJob.AddOrUpdate(
() => MyBatch(),
"0 0 3 1/1 *");
Run Code Online (Sandbox Code Playgroud)
问题是应用程序池进入休眠状态,如果站点未手动启动(通常访问网站),则不处理批处理.
我用来修改设置的一些来源:
应用程序池总共使用了7个应用程序(在应该处理批处理的夜晚都处于非活动状态).使用的应用程序池使用.NET CLR Version 2.0.我正在使用IIS版本10.0.17134.1.
如何使应用程序池保持活动状态,以便每天早上定期调用批处理?
我知道有类似的问题已被问到,但他们的答案并没有解决我的问题.
HTTP错误500.19 - 内部服务器错误
无法访问请求的页面,因为页面的相关配置数据无效.
详细错误信息:模块IIS Web核心通知BeginRequest处理程序尚未确定错误代码0x80070021配置错误此配置部分不能在此路径中使用.当该部分被锁定在父级别时会发生这种情况.锁定是默认情况下(overrideModeDefault ="Deny"),或由locationMode ="Deny"或遗留allowOverride ="false"的位置标记显式设置.配置文件\?\ C:\ mySite\web.config
请求的URL http:// localhost:80/mySite/login
物理路径C:\ mySite\login
登录方法尚未确定
登录用户尚未确定
配置来源:
65:
</staticContent>66:
<handlers>67:
<add name="ReportViewerWebControlHandler"
> preCondition="integratedMode" verb="*"
> path="Reserved.ReportViewerWebControl.axd"
> type="Microsoft.Reporting.WebForms.HttpHandler,
> Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral,
> PublicKeyToken=b03f5f7f11d50a3a" />
Run Code Online (Sandbox Code Playgroud)
我也检查了Windows功能,看起来没问题.
我试着设置overrideModelDefault到Allow并删除WebServiceHandlerFactory从applicationhost.congif,但没有结果.
我正在使用Visual Studio 2017和IIS 10.
任何其他想法如何解决这个问题?