programing

"이 작업에는 IIS 통합 파이프 라인 모드가 필요합니다."

luckcodes 2021. 1. 16. 20:30

"이 작업에는 IIS 통합 파이프 라인 모드가 필요합니다."


ASP.NET Identity, Owin 등을 포함하는 기본 템플릿을 통해 Windows 8.1, .NET 4.5.1, IIS 8.5 (통합 AppPool 아래), Visual Studio 2013에서 개발중인 웹 응용 프로그램이 있으며 로컬에서 제대로 작동합니다.

그런 다음 IIS 7.5 (통합 파이프 라인) 호스트를 사용하여 Windows Server 2008에 업로드하고 다음을 얻습니다.

이 작업에는 IIS 통합 파이프 라인 모드가 필요합니다.

예외 정보 :
System.PlatformNotSupportedException :이 작업에는 IIS 통합 파이프 라인 모드가 필요합니다.

스택 추적 :

[PlatformNotSupportedException: This operation requires IIS integrated pipeline mode.]
  System.Web.HttpResponse.get_Headers() +9687046
  System.Web.HttpResponseWrapper.get_Headers() +9
  Microsoft.Owin.Host.SystemWeb.OwinCallContext.CreateEnvironment() +309
  Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContext.GetInitialEnvironment(HttpApplication application) +246
  Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContext.PrepareInitialContext(HttpApplication application) +15
  Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage.BeginEvent(Object sender, EventArgs e, AsyncCallback cb, Object extradata) +265
  System.Web.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +285
  System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

독자에게 파이프 라인을 클래식 모드에서 통합 모드로 변경하도록 지시하는 것 외에는 아무것도 찾을 수 없습니다. 이미 성공하지 못했습니다.

문제를 해결하려면 어떻게해야합니까? "Microsoft.Owin.Host.SystemWeb"은 IIS 7.5와 같지 않습니까?


응용 프로그램 풀이 클래식 모드에 있지만 응용 프로그램을 실행하려면 통합 모드가 필요합니다. 통합 모드로 변경하십시오.

  1. IIS 관리자 열기

  2. 응용 프로그램 풀

  3. 앱이 실행되는 풀 선택

  4. 오른쪽 패널에서 기본 설정을 선택합니다.

  5. 통합으로 파이프 라인 모드 변경 관리


Response.AddHeader대신 사용해보십시오Response.Headers.Add()


나는 같은 문제를 겪고 있었고 다음을 수행하여 해결했습니다.

  1. Visual Studio에서 "프로젝트 속성"을 선택합니다.

  2. "웹"탭을 선택하십시오.

  3. "로컬 IIS 웹 서버 사용"을 선택합니다.

  4. "IIS Express 사용"을 선택하십시오.


이 오류는 배포 된 응용 프로그램이 속한 응용 프로그램 풀이 통합 모드가 아님을 의미합니다.

  1. .NET 4 버전을 선택하고 관리되는 파이프 라인 모드를 통합으로 사용 하여 새 응용 프로그램 풀을 만듭니다 .
  2. 응용 프로그램의 앱 풀을 위에서 만든 것으로 변경하고 지금 시도하십시오.

이 문제를 해결하는 방법은 IIS에 없습니다. Visual Studio 내에서 IIS Express 내에서 응용 프로그램을 실행하려고했습니다. 나는 웹을 검색했고 일부 기사는 system.web 태그에 ID 태그를 추가하라는 내용을 담고있었습니다. 이것은 올바른 방법이 아닙니다.

이 문제를 해결할 수 있었던 방법은 프로젝트 파일을 클릭하고 속성으로 이동하는 것입니다. 관리 형 파이프 라인에서 속성 값을 클래식에서 통합으로 변경했습니다.

이것은 내 문제를 해결했습니다.


내 질문에서 다음과 같이 이미 해당 모드에있을 때 호스트 IIS가 통합 파이프 라인 모드가 필요하다고 불평하지 않아야하기 때문에 이것은 이상한 문제였습니다.

많은 검색을했지만 독자에게 파이프 라인을 클래식 모드에서 통합 모드로 변경하도록 지시하는 것 외에는 아무것도 찾을 수 없었습니다 .

Levi의 지시를 사용 하여 빈 aspx 페이지에 <%: System.Web.Hosting.HttpRuntime.UsingIntegratedPipeline %><%: System.Web.Hosting.HttpRuntime.IISVersion %>*를 넣고 호스트에게 무슨 일이 일어나고 있는지 알려주고 내가 업로드 한 페이지를 사용하여 문제를 해결하고 문제를 확인하도록 요청했습니다 ... 나는 주에서 변경된 사항이 있는지 자주 확인했습니다. 페이지의 문제를 해결하기 위해 3-4 시간이 걸렸음을 알 수 있습니다.

그들이 문제를 해결하기 위해 무엇을했는지 물었을 때, 그들의 대답은 다음과 같이 '분류'되었습니다.

우리 팀은 서버에서 필요한 사항을 변경했습니다.

문제는 모두 내 호스트였습니다.

* 업데이트 : 의견에 명시된

  1. <%: System.Web.Hosting.HttpRuntime.UsingIntegratedPipeline %>
  2. <%: System.Web.Hosting.HttpRuntime.IISVersion %>

더 이상 유효하지 않으며 현재 다음과 같습니다.

  1. <%: System.Web.HttpRuntime.UsingIntegratedPipeline %>
  2. <%: System.Web.HttpRuntime.IISVersion %>

다음 단계에 따라이 문제를 해결했습니다.

  1. 프로젝트의 루트 폴더를 마우스 오른쪽 버튼으로 클릭하십시오.
  2. 고토 속성
  3. 왼쪽 메뉴에서 웹 클릭
  4. change current port http://localhost:####/
  5. click create virtual directory
  6. Save the changes (ctrl+s)
  7. Run

may be it help you to.


For Visual Studio 2012 while debugging that error accrued

Website Menu -> Use IIS Express did it for me


Those who are using VS2012

Goto project > Properties > Web

Check Use Local IIS Web server

Check Use IIS Express

Project Url http://localhost:PORT/


GitHub solution solved the problem for me by adding

  • Global.asax.cs: Set AntiForgeryConfig.SuppressXFrameOptionsHeader = true; in Application_Start:
  • Manually add the X-Frame-Options header in Application_BeginRequest

ReferenceURL : https://stackoverflow.com/questions/22313167/this-operation-requires-iis-integrated-pipeline-mode