问题标签 [azure-appservice]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - 我有一个带有两个插槽的天蓝色应用程序服务。他们是否共享相同的临时文件夹路径?
我有一个带有两个插槽(实时和暂存)的 Azure 应用程序服务,并且 IronPDF 存在问题,我被告知这可能是由于我的应用程序服务的插槽共享同一个临时文件夹。
有谁知道他们是否共享同一个。我知道他们会在同一个虚拟机上。所以我的假设是肯定的。但这是否意味着重新启动任何一个插槽都会清除它?
只是想确认这是否是问题所在。
干杯。
azure - 托管在 Azure 应用服务中的 .Net Core 的托管服务/后台服务正在停止
嗨,我已经面临这个问题好几天了。希望我能在这里找到一些解决方案。
我有一个 dotnet 核心应用程序,我在其中实现了 HostingService 以从数据库中获取一些记录并将其推送到石英触发器。
以下在 IIS 中运行良好,但部署到 Azure HostingService 时运行了几次迭代,一段时间后没有日志。
我一直在使用此链接中的示例。
我的 Execute 看起来像这样
我需要同时解雇很多工作,比如每天上午 10 点,这可以达到 10,000 多个。任何有关实施的建议,或任何设计缺陷(如果有)在当前实施中,或任何建议真的很感激。
我为此编写了另一个实现,这次我使用 Hangfire 每 1 分钟检查一次数据库记录。这似乎有一个问题,在 IIS 中也很有效,但在 Azure 中却没有。实现如下
已处理异常。
感谢您通读。第一次在 stackoverflow 上,如有必要,我可以添加更多我错过的信息。
环境:
- 点网核心 v3.1
- Azure 应用服务 Linux B1 层
azure - 如何在 Azure 应用服务中部署单个 cshtml 文件
我有一个使用 Visual Studio 2019 开发并部署在 Azure 应用服务上的 .Net 核心应用。我在同一个解决方案中也有功能应用程序。我必须做几件事,然后重新部署到 Azure 应用服务。
- 添加一个 .cshtml 文件
- 修改一个.cshtml文件
我的问题是,如何仅将 CSHTML 文件部署到 Azure 应用服务?在不影响应用程序现有功能的情况下。
根据我的理解,如果 Web 应用程序部署在 Azure 应用程序服务中,那么即使有非常小的代码修改,也必须部署整个事情(解决方案)。
请让我知道,谢谢。
azure - azure appservice 容器未获取 HTTPS 方案
我有一个简单的 asp.net core 3.1 应用程序,可以在 index.cshtml 页面中打印出 HTTPRequest。我将应用程序容器化并在 azure appservice 中运行它。
有很多我不拥有的代码,例如 microsoft OIDC 的东西,它们依赖于 HTTPRequest.Scheme 来构建重定向 URL。进入我的容器化应用程序的请求是 HTTP,即使原始请求 url 看起来像这样;
当我打印出应用程序认为 HTTPRequest 中的内容时,我得到了;
不用说,当 OIDC 的东西构建 redirectUrl 时,它是 HTTP 方案,这是错误的。
“应用程序服务”有一个 TLS/SSL 设置,您可以在其中打开“仅 HTTPS”。这没有效果。
我是否缺少强制将正确方案传递给容器的设置?
azure - Azure App Service 和 .NET Core 3.1 中长时间运行计算的适当解决方案?
在 Azure App Service 和 .NET Core 3.1 中,在不需要数据库且对该应用程序之外的任何内容都没有 IO 的应用程序中,什么是合适的解决方案?这是一个计算任务。
具体来说,以下是不可靠的,需要解决方案。
这有时会返回一个空对象HttpClient
(未显示)。较小的工作量总是会成功。例如 30 亿次迭代总是成功的。更大的数字会很好,特别是需要 2400 亿。
我认为在 2020 年,使用 .NET Core 的 Azure 应用服务的一个合理目标可能是在 8 个子线程的帮助下将父线程数增加到 2400 亿个,因此每个子线程数达到 300 亿个,而父线程划分为 8 M 字节入站对象为每个子项的入站对象。每个孩子收到一个 1 M 字节的入站数据,并返回给父母一个 1 M 字节的出站数据。父级将结果重新组合成一个 8 M 字节的出站。
显然,经过的时间将是单线程实现所需时间的 12.5%,或 1/8,或八分之一。与计算时间相比,切割和重新组装对象的时间很小。我假设传输对象的时间与计算时间相比非常小,因此 12.5% 的预期大致准确。
如果我能得到 4 或 8 个核心,那就太好了。如果我能得到一个核心周期的 50% 的线程,那么我可能需要 8 或 16 个线程。如果每个线程给我 33% 的核心周期,那么我需要 12 或 24 个线程。
我正在考虑BackgroundService
上课,但我正在寻找确认这是正确的方法。微软说...
显然,如果某些东西长时间运行,最好通过使用多个内核来更快地完成它,System.Threading
但是这个文档似乎System.Threading
只在通过启动任务的上下文中提到System.Threading.Timer
。我的示例代码显示我的应用程序中不需要计时器。HTTP POST 将作为工作的机会。通常我会System.Threading.Thread
用来实例化多个对象以使用多个内核。我发现,在需要很长时间的工作解决方案的上下文中,没有提及多核是一个明显的遗漏,但可能有某些原因 Azure App Service 不处理这个问题。也许我只是无法在教程和文档中找到它。
任务的启动是图示的 HTTP POST 控制器。假设最长的工作需要 10 分钟。HTTP 客户端(未显示)将超时限制设置为 1000 秒,这远远超过 10 分钟(600 秒),以便有安全边际。HttpClient.Timeout
是相关属性。目前我假设 HTTP 超时是一个真正的限制;而不是某种非约束性(假限制),这样一些其他约束会导致用户等待 9 分钟并收到错误消息。真正的绑定限制是我可以说“但对于这个超时它会成功”的限制。如果 HTTP 超时不是真正的绑定限制并且存在其他限制系统的因素,我可以调整我的 HTTP 控制器以改为使用三 (3) 个 POST 方法。因此 POST1 意味着使用入站对象启动任务。POST2 的意思是告诉我它是否完成。POST3 意味着给我出站对象。
在 Azure App Service 和 .NET Core 3.1 中,在不需要数据库且对该应用程序之外的任何内容都没有 IO 的应用程序中,什么是合适的解决方案?这是一个计算任务。
javascript - “意外令牌函数”Azure Node.js 应用服务异步函数
我在将 node.js 应用程序部署到 Azure 应用服务时遇到问题。我Unexpected token function
在其中一个 node_modules 中获得了异步。
我将 Azure 应用服务节点版本更新为v12.13.0
. 在图像中,我运行node -v
确认。这应该能够运行Async / await
功能。我可以创建一个test.js
具有异步功能的文件并在控制台中运行它以确认它是否有效。但是,当我运行该应用程序时,它会从使用第 20 行上的异步函数的node_module导入中引发错误。注释图片中概述了此过程,显示了 azure 应用服务的预览编辑器。
任何帮助将非常感激。谢谢你。
azure-web-app-service - Azure 应用服务在 POST 请求上返回 404
我有一个已通过 VS 2017 发布到 Azure 的 WCF 服务。我可以使用浏览器中的 URL 访问该服务,它按预期运行。该服务侦听来自 Salesforce 的出站消息。如果我发送一条消息,它会返回 404 错误。同样的服务可以正常发布到服务器上的 IIS。应用服务中是否有允许处理 POST 的设置?
更新:我认为问题可能出在 web.config 这是我所拥有的:
这在带有 IIS 的 VM 上运行良好。
azure - 在 Azure 应用服务的代码中读取 TLS/SSL 私钥证书
在这篇 Microsoft文章之后,我们正在访问上传到我们的应用服务的代码中的私钥证书。正如文章所示,我们可以通过其指纹查找证书,并且可以读取它,但是当我们尝试使用以下代码访问其密钥值时,我们会收到错误“CryptographicException:密钥集不存在。”。将密钥转换为 RSACryptoServiceProvider 时发生错误。
此错误消息具有欺骗性,因为我知道密钥集确实存在。在我的非 Azure 开发 VM 上,我可以像任何其他证书一样将私钥文件加载到我的本地计算机证书存储中,并使用相同的代码读取它们的密钥及其值。我确实必须向我的站点在本地运行的用户(IIS 应用程序池标识)授予对证书密钥的访问权限。您可以在 Microsoft 管理控制台中执行此操作(参见图片)。因此我们推测这是一个授权问题。
有人遇到过这种情况么?
堆栈跟踪:22488 21:52:18 错误证书密钥强制转换为 RSACryptoServiceProvider:System.Security.Cryptography.CryptographicException:密钥集不存在
在 System.Security.Cryptography.Utils.CreateProvHandle(CspParameters parameters, Boolean randomKeyContainer) 在 System.Security.Cryptography.Utils.GetKeyPairHelper(CspAlgorithmType keyType, CspParameters parameters, Boolean randomKeyContainer, Int32 dwKeySize, SafeProvHandle& safeProvHandle, SafeKeyHandle& safeKeyHandle) 在 System.Security .Cryptography.RSACryptoServiceProvider.GetKeyPair() 在 System.Security.Cryptography.RSACryptoServiceProvider..ctor(Int32 dwKeySize, CspParameters 参数, Boolean useDefaultKeySize) 在 System.Security.Cryptography.X509Certificates.X509Certificate2.get_PrivateKey() 在 BCU.Web.Controllers。 CovidLiveAgentController.GetAccessToken() Stacktrace:在 System.Security.Cryptography.Utils.CreateProvHandle(CspParameters parameters, Boolean randomKeyContainer) 在 System.Security.Cryptography.Utils。GetKeyPairHelper(CspAlgorithmType keyType, CspParameters parameters, Boolean randomKeyContainer, Int32 dwKeySize, SafeProvHandle& safeProvHandle, SafeKeyHandle& safeKeyHandle) at System.Security.Cryptography.RSACryptoServiceProvider.GetKeyPair() at System.Security.Cryptography.RSACryptoServiceProvider..ctor(Int32 dwKeySize, CspParameters parameters, Boolean useDefaultKeySize) 在 System.Security.Cryptography.X509Certificates.X509Certificate2.get_PrivateKey() 在 BCU.Web.Controllers.CovidLiveAgentController.GetAccessToken()CspParameters 参数,布尔值 useDefaultKeySize) 在 System.Security.Cryptography.X509Certificates.X509Certificate2.get_PrivateKey() 在 BCU.Web.Controllers.CovidLiveAgentController.GetAccessToken()CspParameters 参数,布尔值 useDefaultKeySize) 在 System.Security.Cryptography.X509Certificates.X509Certificate2.get_PrivateKey() 在 BCU.Web.Controllers.CovidLiveAgentController.GetAccessToken()
azure - 为 Azure 应用服务应用程序实施 Cookie 横幅
我有一个 Azure 应用程序服务,其中运行多个具有不同名称的(Web 应用程序)应用程序服务。
我必须修改已经实现的 cookie 横幅,上面写着“我们正在做......”</p>
网站加载时显示横幅。在浏览器中,执行“F12”后,我可以看到,文本写在哪里。但是,当从 Visual Studio 检查源代码时,我找不到文本(即在“Index.cshtml”页面中检查代码。 )。也搜索了整个解决方案中的文本。
它是在 App 服务中实现的吗?以便在不同的应用程序“Index.cshtml”页面加载时可见?还是我错过了什么?
请注意,根据我之前的本地应用程序,它应该在代码本身中实现。很不确定,为什么我找不到这个。
请帮助。谢谢。