반응형
ASP.NET Core MVC에서 URL 리퍼러를 얻으려면 어떻게하나요?
ASP.NET MVC 웹 양식을 ASP.NET Core MVC로 마이그레이션하려고합니다. 현재 Request.UrlReferrer
수업에 문제가 있습니다.
원래 줄은 다음과 같습니다.
[HttpPost]
public async Task<ActionResult> ContactUsFormSubmit(ContactUs request)
{
var siteUrl = Request.UrlReferrer.ToString().ToLower();
....
}
그러나 ASP.NET Core에서는 UrlReferrer를 사용할 수 없습니다. 다음을 찾았습니다.
Request.Headers["Referer"]
String 대신 StringValues를 반환합니다. 나는 이것을 사용 해야하는지 또는이 상황에 대한 다른 해결책이 있는지 확실하지 않습니다. Request.ServerVariables
사용할 수 없거나 네임 스페이스가 없을 수도 있습니다. 내 네임 스페이스는 다음과 같습니다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
누군가 나를 올바른 방향으로 인도 할 수 있다면 정말 감사하겠습니다.
거의 완료되었습니다. 이 StringValues
클래스는 ASP.NET이 프레임 워크에서 문자열을 효율적으로 표현하는 데 사용하는 유형일뿐입니다. 특히 HttpContext
개체에서. ToString()
이를 호출 하여 문자열로 변환 할 수 있습니다 .
string referer = Request.Headers["Referer"].ToString();
asp.net 코어 2 사용 기준 GetTypedHeaders
RequestHeaders header = request.GetTypedHeaders();
Uri uriReferer = header.Referer;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Http;
var referer = ((FrameRequestHeaders)Request.Headers).HeaderReferer.FirstOrDefault();
마법의 끈없이 받아 들여진 대답과 거의 동일
URL 리퍼러를 얻는 방법은 다음과 같습니다.
@{
string referer = Context.Request.Headers["Referer"].ToString();
Uri baseUri = new Uri(referer);}
<form asp-action="Login" asp-route-returnUrl="@baseUri.AbsolutePath">
참고 URL : https://stackoverflow.com/questions/38772394/how-can-i-get-url-referrer-in-asp-net-core-mvc
반응형
'Programing' 카테고리의 다른 글
HTML5를 독립형 Android 앱으로 변환 (0) | 2020.11.11 |
---|---|
nullptr NULL을 호출하지 않는 이유는 무엇입니까? (0) | 2020.11.11 |
tmux에서 창 이름을 바꾸는 방법은 무엇입니까? (0) | 2020.11.11 |
Gradle-오류 인수에 대한 method implementation ()을 찾을 수 없음 [com.android.support:appcompat-v7:26.0.0] (0) | 2020.11.11 |
C 콘솔에 바이너리 트리를 "그리는"방법 (0) | 2020.11.11 |