JSw*_*zen 5 c# rest asp.net-mvc asp.net-web-api
我正在开发一个MVC Web API应用程序,我需要从许多不同设备上的Web浏览器访问,例如,智能手机.在开发过程中,我希望能够在从手机访问网站时进行调试.为此,我设置了Fiddler来提供反向代理.在本地,服务器在localhost:55950上运行,但是从我的手机我可以访问MyComputer:8888.这部分正在运作.
问题是我在REST响应中创建URI.当我在MyComputer:8888访问该站点时,我需要的URI类似于MyComputer:8888/services/api/files,但我得到localhost:55950/services/api/files,这在我的手机上失败了.我正在使用UrlHelper类生成URI.我看了一遍,但还没有办法告诉系统使用引用者,而不是本地主机.我在Request中看到了所需的Referrer值,所以我想我可以编写代码来修补URI,但似乎这是一个常见的问题,并且必须有一种方法让UrlHelper正常工作.
如果有人能指出我正确的方向,我将非常感激.
看看这个答案。
var httpContext = HttpContext.Current;
if (httpContext == null) {
var request = new HttpRequest("/", "http://example.com", "");
var response = new HttpResponse(new StringWriter());
httpContext = new HttpContext(request, response);
}
var httpContextBase = new HttpContextWrapper(httpContext);
var routeData = new RouteData();
var requestContext = new RequestContext(httpContextBase, routeData);
return new UrlHelper(requestContext);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
277 次 |
| 最近记录: |