asp.net – 向其他人提供一个Web API转发请求的最佳方式
发布时间:2020-05-24 19:42:59 所属栏目:asp.Net 来源:互联网
导读:我有一些Web服务在不同的服务器上运行,我希望有一个Web服务在其余的“前面”运行,以决定应该根据标头值转发请求的Web服务(服务器). 这个想法是客户会发送请求,比如说: http://api.mysite.com/cars mysite.com上的API将检查请求,从API密钥(在标头中提供)中提
|
我有一些Web服务在不同的服务器上运行,我希望有一个Web服务在其余的“前面”运行,以决定应该根据标头值转发请求的Web服务(服务器). 这个想法是客户会发送请求,比如说: http://api.mysite.com/cars mysite.com上的API将检查请求,从API密钥(在标头中提供)中提取信息并重定向到适当的服务器,例如, http://server4.mysite.com/api/cars 这会起作用吗?我担心如何将响应(w / data)从“server4”返回给客户端.响应是仅返回给第一台服务器还是客户端实现响应? 解决方法您需要做的就是构建一个Web API DelegatingHandler,如下所示:public class ProxyHandler : DelegatingHandler
{
protected override async System.Threading.Tasks.Task<HttpResponseMessage> SendAsync(HttpRequestMessage request,System.Threading.CancellationToken cancellationToken)
{
UriBuilder forwardUri = new UriBuilder(request.RequestUri);
//strip off the proxy port and replace with an Http port
forwardUri.Port = 80;
//send it on to the requested URL
request.RequestUri = forwardUri.Uri;
HttpClient client = new HttpClient();
var response = await client.SendAsync(request,HttpCompletionOption.ResponseHeadersRead);
return response;
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 单独配置文件为web.config的部分
- 将mvc 5应用程序连接到Azure中的ACS?
- asp.net-mvc – 如何在我自己的自定义助手中使用ASP.NET MV
- ASP.NET身份两个因素不起作用 – Cookie问题?
- asp.net-mvc – MapMvcAttributeRoutes:此方法不能在应用程
- ASP.NET元:resourcekey
- asp.net-mvc – ASP.NET MVC编辑器 – 模板/ UIHint与参数
- 在ASP.NET中拒绝用户时,’CustomIdentity’上的Serializati
- 在asp.net应用程序中打开/关闭连接的好习惯?
- asp.net – precompiledApp.config的目的是什么?
推荐文章
站长推荐
- asp.net-mvc – MVC和RadioButtonList
- asp.net-mvc – 如何从ASP.NET MVC VIEWS文件夹访
- asp.net – 在方法名称上过滤log4net – 无法得到
- asp.net-web-api – 在LINQPad中使用WebAPI?
- asp.net-mvc – ASP.NET MVC 3 – 将复杂的JSON模
- asp.net – 可能导致XML解析错误:没有找到元素?
- asp.net – 自动修复与’ASPStateTempSessions’
- 处理用户在ASP.NET MVC网站中点击“Enter”键
- asp.net-mvc-3 – 在MVC 3视图模型上使用Editabl
- asp.net-mvc – 如何将现有的asp.net应用程序迁移
热点阅读
