gpt4 book ai didi

twilio - Azure函数未命中断点

转载 作者:行者123 更新时间:2023-12-04 16:24:00 24 4
gpt4 key购买 nike

我正在学习如何使用Azure功能来处理和响应通过Twilio电话号码提交的SMS消息。这是使用Microsoft.Azure.WebJobs.Extensions.Twilio(3.0.0-beta5)的预览版v2。

我使用ngrok将来自Twilio的http触发器转发到本地服务器,当我从Visual Studio(2017)中以 Debug模式启动Azure函数时将触发该本地触发器。

我使用的代码非常简单,只是返回一条短信以响应收到的任何内容:

public static class Function1
{
[ FunctionName( "BikeSMS" ) ]
public static IActionResult Run(
[ HttpTrigger( AuthorizationLevel.Function, "get", "post", Route = null ) ]
HttpRequest req,
TraceWriter log
)
{
log.Info( "C# HTTP trigger function processed a request." );

var twiResp = new MessagingResponse();
twiResp.Append( new Message( "This is Muddlehead. Thanx for your message" ) );

return new ContentResult()
{
Content = twiResp.ToString(),
ContentType = "application/xml"
};
}
}

这很好。我的问题是我无法使调试器破坏函数中的任何内容。断点将被忽略,并返回指定的文本。

我该如何配置事物,以便在调用Azure Function时参与调试器?我需要传递到VS 2017启动的本地服务器上的某些设置来托管/运行Azure功能吗?

更新

我能够使VS调试器在断点处停止,但是只有在将VS手动附加到运行本地Azure Function服务器的控制台应用程序之后,该应用程序会在您按F5键时启动。

因此,在配置或工具方面出了点问题,因为在您按F5键时,无论VS调试器连接到什么,它都不是正确的应用程序。

我没有提交此答案,因为不是。我不必手动重新连接调试器。

这是我用来使调试器以应有的方式开始工作的步骤:

1)在 Debug模式下通过F5启动Azure Function应用。将为Azure Function主机打开控制台窗口。

2)调试->停止调试。在#1中打开的控制台窗口关闭,并出现一个运行Azure Function主机的新控制台窗口。

3)将VS调试器附加到在#2中打开的控制台应用程序(在我的情况下称为“func.exe”)。

现在,调试可以按预期进行。

附加信息:我将ConEMU用作VS中的默认控制台 shell 。我不知道这是否意味着什么,但是在#1中打开的控制台是ConEMU shell,但是在#2中打开的控制台是普通的cmd.exe shell。

最佳答案

我没有ConEMU,但我遇到了同样的问题-函数断点刚刚停止工作。此外,当我停止进程时,功能运行时控制台没有关闭,它早已关闭。在Visual Studio中运行。

解决方案非常不直观:转到“工具->选项->调试”,然后取消选中“调试停止时自动关闭控制台”。之后,即使窗口仍未自动关闭,断点也重新开始工作。

关于twilio - Azure函数未命中断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51128535/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com