我在将站点部署到服务器时遇到错误.当尝试加载主页,或在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-ItemProperty
cmdlet无效.没有错误消息或任何东西,它只是没有做任何事情.
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 here
2017. .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.
任何其他想法如何解决这个问题?