从Azure功能调用Asp.Net Web API端点
发布时间:2020-12-16 06:40:20 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试使用Azure功能开发以下场景. 我开发了Asp.Net Web API来处理数据库相关的操作.现在,我想实现一个类似于日常运行的调度程序,它将清理数据库中的垃圾数据.我已经在我的Web API中创建了一个端点,但我想定期执行它,所以我想用Azure函数的TimerTrigger
我正在尝试使用Azure功能开发以下场景.
我开发了Asp.Net Web API来处理数据库相关的操作.现在,我想实现一个类似于日常运行的调度程序,它将清理数据库中的垃圾数据.我已经在我的Web API中创建了一个端点,但我想定期执行它,所以我想用Azure函数的TimerTrigger函数实现调度程序,有没有办法在TimerTrigger函数中调用我的web api的端点. 如何在Azure功能中处理我的api身份验证? 谢谢 更新: 基于mikhail的回答,最后我使用以下代码获得了令牌: var client = new HttpClient(); client.BaseAddress = new Uri(apirooturl); var grant_type = "password"; var username = "username"; var password = "password"; var formContent = new FormUrlEncodedContent(new[] { new KeyValuePair<string,string>("grant_type",grant_type),new KeyValuePair<string,string>("username",username),string>("password",password) }); var token = client.PostAsync("token",formContent).Result.Content.ReadAsAsync<AuthenticationToken>().Result; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(token.token_type,token.access_token); var response = await client.GetAsync(apiendpoint); var content = await response.Content.ReadAsStringAsync(); 解决方法
Azure Function在普通的Web应用程序中运行,因此您可以在那里做任何事情.假设您使用C#,函数体可能看起来像
var client = new HttpClient(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer",token); var response = await client.GetAsync(url); var content = await response.Content.ReadAsStringAsync(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-core – ASP.NET Core – Swashbuckle没有创建swag
- asp.net-mvc – 如何在ASP.NET MVC 2中使用模型绑定器的DI
- asp.net-mvc-3 – MVC模型范围验证器?
- asp.net – 应用程序之间的Azure AD身份验证
- asp.net-mvc – ASP.Net MVC中的两步认证
- 深入理解ASP.NET MVC(目录)、打造自己的MVC框架
- asp.net – 使CustomValidator与ValidationSummary消息框一
- asp.net – 如何使用ReportService2010命名空间呈现报告
- .net-core – 存储Azure Vault客户端ID和客户端密钥
- ASP.Net中的会话超时设置