Поскольку пользователь просматривает страницу HTTPS, сам запрос не содержит никакой информации относительно того, на каком порту выполняется HTTP-привязка.это означает, что вам нужно будет указать его самостоятельно (возможно, это значение можно получить из файла конфигурации IIS).
Ниже приведен пример вспомогательной функции, позволяющей указать, к какому http-порту относится запросследует направить на.
public static string HttpAction(this UrlHelper helper, string action,
string controller, object routeValues, int port)
{
var url = helper.Action(action, controller, routeValues, "http");
var uri = new Uri(url);
var builder = new UriBuilder(uri.Scheme, uri.Host, port, uri.AbsolutePath, uri.Query);
return builder.ToString();
}
Использование:
@Url.HttpAction("index", "account", new { val = 5 }, 5055);