接下来 , 我们需要使用 Azure 函数来完成这个任务 。
提供index.html
Azure 函数并不打算成为 Web 服务器 。事实上 , Azure 静态 Web 应用程序做得更好 , 但是我们尽量保持它的简单性 。一个 Azure 函数来完成这个任务 。
我们可以推出 index.html 文件 , 这样它将由浏览器提供 。这为我们的应用程序提供了一个小的界面 , 我们可以稍后回过头来构建一个完整的 Web 应用程序 , 利用这个功能 , 或者将其添加到一个微服务包中(如果愿意的话) 。
再次打开 generateqrcode.cs , 在类的顶部(在[ FunctionName (“ Form”)]上)添加另一个函数 。
我们希望这个函数这次返回一个 HttpResponseMessage 。我们仍将使用匿名身份验证将其设置为 HttpTrigger , 并传入与前面相同的值 。
但是这一次 , 我们需要传递 ExectionContext 上下文 。这为我们提供了执行上下文 , 这样我们就可以在本地文件系统中定位文件 , 稍后我将解释其中的原因 。
另一个是这将返回 HttpResponseMessage 而不是 IActionResult 。
C# C #
[FunctionName("Form")]brpublic static HttpResponseMessage Form([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] brHttpRequest req, ILogger log, ExecutionContext context){
接下来 , 我们将打开放在 www 文件夹中的 index.html 文件 , 并将其全部作为文本读入 。这就是执行上下文的来源 。
我们希望打开运行应用程序的文件系统的 www 文件夹中的 index.html 文件 。我们用这行代码来实现:
C#
string indexPage = File.ReadAllText(context.FunctionAppDirectory + "/www/index.html");
然后 , 我们将创建一个状态代码为 OK (200)的新 HttpResponseMessage:
C#
var result = new HttpResponseMessage(HttpStatusCode.OK);
现在我们需要添加一些标题 , 并用我们从索引文件中读取的文本填充“内容”:
C#
result.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html");brresult.Content = new ByteArrayContent(System.Text.Encoding.UTF8.GetBytes(indexPage));
现在我们有了一个带有 text/html 头的200 OK 消息 , 并且我们已经将来自 index.html 的所有文本添加到了头的内容部分 。
很俗气 , 但很管用 。
然后我们就把它还回去:
C#
return result;
所以整个函数看起来是这样的:
C#
[FunctionName("Form")]brpublic static HttpResponseMessage Form(br[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequest req,brILogger log, ExecutionContext context)br{brbrstring indexPage = File.ReadAllText(context.FunctionAppDirectory + "/www/index.html");brbrvar result = new HttpResponseMessage(HttpStatusCode.OK);brbrresult.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html");
因为我们要引入这个需要包含在构建中的外部文件(index.html) , 所以需要将它添加到我们的 。Csproj 文件 。在 ItemGroup 中 , 添加以下代码:
HTML
<None Update="wwwindex.html">br<CopyToOutputDirectory>Always</CopyToOutputDirectory>
我在其他文件发布设置中添加了我的:
文章插图
保存它 , 让我们再次在本地运行 Azure 函数:
Shell
func start
让我们看看它是如何工作的 。
测试我们的前端
现在我已经在本地启动并运行了我的函数 , 所以我可以打开一个网页浏览器:
http://localhost:7071/api/Form
这就是它所有的荣耀:文章插图
我会输入一个网址,
这是我的二维码 , 临时生成的 , 太棒了! !
把它部署到 Azure 上 。
部署我们的应用程序
所以我现在称之为“应用程序” , 因为它就是 。我们已经超越了一个简单函数的预期功能 , 只是为了展示 Azure 函数的强大 。我们来部署一下 , 看看它是如何工作的 。
用 Azure CLI 输入
Shell
az login
你会通过浏览器登录到 Azure 。
推荐阅读
- 架构师必备:MySQL主从同步原理和应用
- 电脑主板能不能用水洗呢?
- Active Directory用户登录报告
- 家用打印机如何选择最经济适用
- 按摩|身体乳怎么用才正确 十大好用的身体乳排名
- 工业机油用什么能洗掉 衣服上的机油用什么可以洗下来
- 金参润喉合剂有什么副作用呢?
- 四物合剂有什么作用和功效?
- 丹桃合剂有什么功效和作用?
- 归脾合剂有什么作用呢?