远程调试多个实例的 Azure 应用服务

Remote debugging of a multiple instances' Azure App Service

我有这个阴险的问题。 我通常在 App Service slot 上发布一个 C# .NET web 项目,并且通常执行 Remote Attach 来调试我的软件。

有一天,我们将实例数量从 1 个扩展到 4 个,我发现远程调试似乎不再起作用了。

那是因为当我开始远程调试时,它附加到服务器的随机实例,并且在浏览器响应后,我无法确保后续浏览器请求转到同一个实例。 我相信启用 "ARRaffinity cookie" 选项可能会在同一实例上强制请求,但它似乎不起作用。 我不知道该如何解决。

实例定义是使用带有键 ARRaffinity 的 cookie 完成的。这些值随机分配给每个实例并且是唯一的。您可以使用手动方法指定要调试的实例。如果您使用 Chorme,请访问该网站并单击 F12>Application>Cookies,然后您将获得指定实例 cookie 值。

当你去Attach to Process输入你的用户名和密码时,给你的用户名加上以下内容:pound/hash#first few characters of the ARR affinity cookie。例如:yoeycai#9762c(joeycai是用户名,9762c是ARR cookie的第一个字符)

更多详细信息,您可以参考此article and this one进行远程调试。