如何在HTTPS上的Visual Studio中本地运行Azure函数?

时间:2018-07-10 15:55:09

标签: c# https visual-studio-2017 azure-functions

我有一个在Visual Studio中开发的C#库Azure函数(v1 .Net Framework 4.6.1)。

我想在Visual Studio的HTTPS上本地运行它。我该如何实现?

我将应用程序参数设置如下:

host start --port 7112 --pause-on-error --useHttps --cors * 

添加--usehttps会导致应用程序无法正确启动。

应用程序启动时,询问我是否要安装证书,请单击“是”。

然后控制台窗口显示此消息,并且应用程序似乎无法正确加载-最后的消息不断重复。

Listening on https://localhost:7112/
Hit CTRL-C to exit...
[10/07/2018 15:52:58] Reading host configuration file 'C:\GTFS\Girlguiding\Gapconsulting.Girlguiding.MSCRM\Gapconsulting.Girlguiding.MSCRM.Companion.Server\bin\Debug\net461\host.json'
[10/07/2018 15:52:58] Host configuration file read:
[10/07/2018 15:52:58] {}
The host is taking longer than expected to start.

(在旁边;我正在尝试执行此操作,因为我认为这可能有助于this)。

2 个答案:

答案 0 :(得分:2)

请尝试在Powershell中使用以下命令创建测试证书

$cert = New-SelfSignedCertificate -Subject localhost -DnsName localhost -FriendlyName "Functions Development" -KeyUsage DigitalSignature -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.1")

Export-PfxCertificate -Cert $cert -FilePath certificate.pfx -Password (ConvertTo-SecureString -String <password> -Force -AsPlainText)

这是启动功能主机的命令

func host start --port 7112 --useHttps --cors * --cert certificate.pfx --password <password>

答案 1 :(得分:0)

经过一段时间的努力,我找到了使用ngrok的解决方法。

Piotr Stapp describes the process

  

运行。\ngrok authtoken aaa至   生成一个配置文件。其位置将被打印为输出...用以下内容替换内容:

tunnels:  
  azurefunction:
    proto: http
    addr: 7071
    host_header: localhost
     

使用F5从Visual Studio在本地主机上运行Azure函数,并在   PowerShell(或cmd)类型:

     

.\ngrok.exe start azurefunction