使用IIS-10,Web Deploy v3.6,Windows 10.
它是一个使用SQL Server 2014作为后端的ASP.NET网站(非应用程序).
我能够成功创建和部署包,但没有SQL脚本.无法找到有关如何在包中包含SQL脚本的任何信息.这是我尝试过的:
单击确定时,没有任何反应.处理图标不断显示.必须使用任务管理器关闭它.
还尝试使用.sql文件的路径,而不是connectionString.但不知道要输入什么参数以及如何/在何处提及连接字符串.
如果有人能用正确的程序指导我,我将不胜感激.
我正面临着IIS + Kestrel托管asp.net核心应用程序(web api)的问题.
有时响应延迟约为5秒.在这种情况下,Chrome显示"GET net :: ERR_CONNECTION_TIMED_OUT"(但Firefox等待响应)
它只发生在IIS上,如果我在Visual Studio Code中本地运行它可以正常工作(至少我没有发现任何"冻结").
服务器端的应用程序日志中有一些信息.对于成功的请求,它看起来像:
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 OPTIONS http://
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Request finished in 0.2813ms 204
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 GET http://
info: Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerMiddleware[2]
Successfully validated the token.
info: Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerMiddleware[3]
HttpContext.User merged via AutomaticAuthentication from authenticationScheme: Bearer.
info: Microsoft.AspNetCore.Authorization.DefaultAuthorizationService[1]
Authorization was successful for user: admin.
info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1]
Executing action method <method-name> with arguments <args> - ModelState is Valid
info: Microsoft.AspNetCore.Mvc.Internal.ObjectResultExecutor[1]
Executing ObjectResult, writing value Microsoft.AspNetCore.Mvc.ControllerContext.
info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[2]
Executed action …
Run Code Online (Sandbox Code Playgroud) Internet Information Service 10中是否存在动态IP限制功能,或者是否有安装此模块的方法?
我有一个 ExpressJS node.js 应用程序在 Windows Server 2016 VM 上的 IISNode 上运行,具有 4 个内核和 32GB 内存。我可以为每个内核设置一个进程,因此我的应用程序正在运行 4 个 node.exe。节点版本为 v6.10.3。
这是资源通常的样子:
我可以看到由于内存波动,节点垃圾收集似乎正在发生。如屏幕截图所示,它通常会在峰值工作下方悬停。
但是,我试图找出这些进程之一的 CPU 利用率飙升至 100% 的原因。每当发生这种情况时,我都会被迫终止 node.exe,因为我的整个应用程序都停止了。它将停滞在 CPU 峰值,然后所有进一步的请求都在旋转。
现在我被迫在计时器上回收我的应用程序池以完全终止所有工作节点进程并重新启动它们。这可以抑制应用程序长时间停机。
我很欣赏任何见解!
我正在尝试在 IIS 10 中运行 dotnet 核心应用程序,该应用程序需要将托管管道模式设置为“无托管代码”,但该选项似乎缺失。我是否缺少启用该选项的设置或框架?
我正在尝试Console.WriteLine(..)
在Docker日志中获取日志输出(),但利用率为零。
我试过了:
Console.WriteLine(..)
Trace.WriteLine(..)
冲洗控制台,冲洗轨迹。
调试时,我可以在VS输出窗口中看到这些输出,因此它们会放在一起。
我在Windows Container上,使用microsoft/aspnet:4.7.1-windowsservercore-1709
和net4.7
这些是我在容器启动时获得的日志
docker logs -f exportapi
ERROR ( message:Cannot find requested collection element. )
Applied configuration changes to section "system.applicationHost/applicationPools" for "MACHINE/WEBROOT/APPHOST" at configuration commit path "MACHINE/WEBROOT/APPHOST"
Run Code Online (Sandbox Code Playgroud) 我们有一个在 .Net Framework V4.7.1 中运行的 ASP.net core 2.0 应用程序,使用 Kestrel 托管在 IIS 中。
该应用程序在大多数机器上运行良好,但是在我的机器上运行时它真的很慢。我已将应用程序精简为返回字符串的单个控制器,除 MVC 和日志记录中间件之外的所有内容都已删除。似乎在第 5 个 get 请求上,在控制器操作被击中之前有大约 30 秒的挂起。应用程序没有重新启动,它只是挂起。
有没有人遇到过类似的问题?谢谢
我正在使用 ASP.NET Core 构建一个新的 Web 应用程序,并让它在 Visual Studio 的调试中运行良好。
我已经添加了 Serilog,使用滚动文件接收器,并且在 Visual Studio 中也运行良好。
然后我发布了应用程序(直接从 VS 发布,也使用 AppVeyor),并将它复制到我的网络服务器,在 IIS 中添加了一个站点等。
现在我收到“500 - 内部服务器错误。”。
没有日志写入文件系统,甚至没有写入标准输出文件。我添加了文件夹,为 IIS_IUSRS 帐户和应用程序池帐户添加了写入权限。
仍然没有日志!
尝试从命令行运行该站点工作正常,并且使用 Serilog 进行日志记录工作正常。
所以这与 IIS 有某种关系吗?但是没有任何日志,很难知道问题是什么。有任何想法吗?
奖金信息:
我已经在服务器上安装了 dotnet-sdk-2.1.200-win-x64 包。
web.config 文件:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\MySite.dll" stdoutLogEnabled="true" stdoutLogFile=".\app_data\stdout" />
</system.webServer>
</configuration>
<!--ProjectGuid: B9DE9F34-1A9E-4D35-B6CE-74209A6CB9FA-->
Run Code Online (Sandbox Code Playgroud)
站点根文件夹的权限(与应用程序池用户相同):
app_data 权限(以下是日志和标准输出文件夹),对两个用户都相同:
更新
我刚刚安装了 AspNetCore.2.0.7.RuntimePackageStore_x64 和 dotnet-runtime-2.0.7-win-x64 但它仍然无法正常工作。
目前我正在使用 HTTP 1.1 和 HTTP/2 在 IIS 10 上测试 Web 应用程序。我的测试应用程序有一个端点 (/api/test),它只返回“true”。我有3个证书:
根 CA 和服务器证书安装在 Windows Server 2016 上,IIS 网站配置为使用服务器证书侦听https://example.net:8081/。此外,我将网站配置为需要客户端证书(这对我的测试很重要,我需要服务器/客户端证书验证)。
我通过 curl 测试我的应用程序,对于 http1.1 一切正常。
命令:
curl.exe --http1.1 --get --url https://example.net:8081/api/test --cacert E:\ca.pem --cert E:\client.pem --key E:\client.key --cert-type PEM --verbose
Run Code Online (Sandbox Code Playgroud)
输出:
* TCP_NODELAY set
* Connected to example.net port 8081 (#0)
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: E:\ca.pem
CApath: none
* TLSv1.3 (OUT), TLS …
Run Code Online (Sandbox Code Playgroud) 我刚刚购买了新的基于Windows Server 2016的基于云的虚拟机。我还要确保IIS 10已安装.NET Framework 4.6和ASP.NET 4.6。
我的ASP.NET MVC应用程序面向.NET 4.5,并已使用Web部署成功发布到此服务器上的“默认网站”。(您可以在此处查看所有asp.net mvc发布的文件)
“默认网站”使用具有v4.0 .NET CLR版本的“ DefaultAppPool”。
但是,当我在浏览器中打开网页时,收到“ 403-禁止访问被拒绝”的信息。错误。我做了研究,对我来说,IIS似乎从未尝试过将其作为ASP.NET MVC应用程序打开。它只是尝试查找与'controller / Action'.html同名的物理文件,当然找不到它。我尝试过的解决方案:
还有另一篇文章提到了IIS模块配置中的“ UrlRoutingModule-4.0”。就我而言,路由模块由于某种原因不存在。我添加了,但是没有任何变化。此外,每次我从VS重新发布网站时,部署成功后该模块都会消失。
我也尝试添加<modules runAllManagedModulesForAllRequests="true"/>
到我的webconfig文件中,也没有运气。
在服务器上运行aspnet_regiis -ir。它说该命令不能在此操作系统上运行,但无论如何仍然可以运行它。但是,问题仍然存在。