- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在开发一个 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。我已经看了一遍,但还没有找到一种方法来告诉系统使用引荐来源网址,而不是本地主机。我在请求中看到了所需的 Referrer 值,所以我认为我可以编写代码来修补 URI,但这似乎是一个常见问题,并且必须有一种方法可以使 UrlHelper 正常工作。
如果有人能指出正确的方向,我将不胜感激。
最佳答案
查看 this SO answer .
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);
关于c# - UrlHelper 在生成 URI 时不使用引用主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17625991/
查看 msdn(UrlHelper.Route,UrlHelper.Link),它们看起来完全相同。是否有理由使用其中之一? 最佳答案 Route() 返回相对 URI,Link() 返回绝对 URI
我正在尝试编写一个通过的单元测试,但我的测试调用的方法调用了另一个使用 UrlHelper 类生成 URL 的方法。调用 urlHelper.Action 的结果一直返回 null。 我已经尝试模拟(
如果我在 API 调用中调用 UrlHelper.Link,该 API 调用的参数与我尝试获取 URL 的 API 端点的可选参数匹配,则无论我如何尝试,UrlHelper.Link 都会返回一个包含
让我们看看在 RouteConfig.cs 中映射的这两条路由,一条有 guid,一条没有: // Non-guid route routes.MapPageRoute( name: null
我不明白,我有这个代码: return JavaScript(string.Format( "window.location = '{0}'", UrlHelper.GenerateCon
我在 Controller ApplicationsController 中有一个方法,我需要在其中获取操作方法的基本 URL: public ActionResult MyAction(string
我正在使用 ASP.NET MVC 3 和 NUnit。我正在尝试编写一个单元来测试我的一个辅助方法。这是: public static class UrlHelperAssetExtensions
在单元测试中,我正在使用 伪造 http 上下文 var fakeHttpContext = new Mock(); var controllerContext = new Mock(); co
尝试创建用于测试目的的 URLHelper 会引发 NullReferenceException。 例子: [Fact] public async void AuthenticateAsyncTest
我在我的 Web 应用程序中使用 Ninject,作为其中的一部分,我需要在驻留在单独程序集中的 UrlHelper 扩展方法中进行一些注入(inject)。我什至无法获得对内核的静态引用,因为显然库
我想创建一个基于 Action/Controller 名称 + 路由值的 Url。 我知道可以使用 UrlHelper.Action,但我以异步方式运行该方法,因此 HttpContext.Curre
我正在开发一个 MVC Web API 应用程序,我需要从许多不同设备(例如智能手机)上的 Web 浏览器访问该应用程序。在开发过程中,我希望能够在通过手机访问网站时进行调试。为此,我设置了 Fidd
我正在使用 UrlHelper 生成 URL,但是,当我调用方法 Action(action, controller, route) 时,我收到了 ArgumentNullException。 Url
我有一些单元测试来测试 WebApi 项目中的帖子,它是一个 WebApi 1.0 版本,我已经升级到 webapi 2.0,现在在尝试构建响应时,并添加新资源的位置 ApiController.Ur
您能否提供仅使用目标 Controller 和操作在操作过滤器中使用 Urlhelper.GenerateUrl 的示例? 最佳答案 var url = UrlHelper.GenerateUrl(n
我有一个无法解决的场景: 我正在尝试为 mvc 创建自己的自定义授权属性。我想添加的主要功能是能够更改用户不处于某个角色时重定向的位置。我不介意如果他们没有经过身份验证,系统会将它们发送回登录页面,但
我需要在我的应用程序启动时设置一堆路径和 URL,即在 global.asax 中。使用 UrlHelper.Content() 是最简单的方法,但它不可用。 那么如何在 global.asax 中获
当使用 URLHelp 或 Keyword 成员定义 Visual Studio 2010 SP1 中的 C# 代码片段时,url 和关键字不会显示在屏幕: 调用代码段时 在按 Tab 自动完成代码段
在 justmock 中,我们可以通过安排构造函数调用来返回模拟实例而不是实际实例 Mock.Arragne(()=>new MyClass(Arg.IsAny())).IgnoreInstance(
我是 ASP.NET Core 的新手,现在我正试图了解 UrlHelper 的一般工作原理。 在我的 Controller 中,我想为同一 Controller 中的另一个操作创建一个绝对 URL,
我是一名优秀的程序员,十分优秀!