2016-12-15 2 views
0

나는 간단한 OOTB 핸들러URL 또는 뭔가를 통해 WebApi 프로젝트에서 Handler.ashx를 호출하는 방법은 무엇입니까?

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 

namespace XXX.XXX.WebApi.Controllers 
{ 
    /// <summary> 
    /// Summary description for Handler1 
    /// </summary> 
    public class Handler1 : IHttpHandler 
    { 

     public void ProcessRequest(HttpContext context) 
     { 
      context.Response.ContentType = "text/plain"; 
      context.Response.Write("Hello World"); 
     } 

     public bool IsReusable 
     { 
      get 
      { 
       return false; 
      } 
     } 
    } 
} 

내 파일 구조가

enter image description here

어떻게 URL을 통해이여보세요 세계 예를 호출하는 것입니다 있나요? 나는 많은 튜토리얼을 통해 가서 항상 뭔가 ... 잘못을 App_Code 같은 폴더 등 I 시도 (또는과 함께)

https://msdn.microsoft.com/en-us/library/ms228090.aspx

https://www.codeproject.com/articles/538589/theplustruthplusaboutplushttphandlersplusandpluswe

많은 다른 것들없이이 무엇

내 경우 성공. 어떤 아이디어?

+0

웹 API 프로젝트에 처리기를 추가하는 이유는 무엇입니까? – Darren

+0

나는 ashx가 파일을 다루는데 좋다는 것을 읽었으며 ashx가 그것을 위해 최선이라고 말했다. –

+0

당신은 다소 기술을 혼합하고있다. 정말, 당신은 웹 api에서 파일을 받아들이는 방법을 알고 싶어하는 것 같습니다 - 다음은 더 좋은 질문입니다 - http://stackoverflow.com/questions/34168395/how-to-post-and-receive- 웹 응용 프로그램에서 핸들러가 아닌 제어기와 함께 갈 것입니다. – Darren

답변

1

핸들러를 맵핑해야하지만 mvc 감각의 컨트롤러가 아니므로 응용 프로그램의 특수 파일 유형 핸들러 위치로 바깥 쪽을 향하게됩니다.

연결하려면 ASP.NET이 구성을 통해 처리기를 인식하도록해야합니다. 주의의

<httpHandlers> 
    <add verb="*" path="*.myext" type="Handler1"/> 
</httpHandlers> 

말씀 -이 응용 프로그램이 MVC 처리 파이프 라인과 기존의 ASP.NET 파이프 라인을 모두 활용하는 것입니다 수행하여.

직접 처리기를 호출하지 마십시오. 귀하는 특정 확장자 및/또는 경로 (일반적으로 무시되었을 수 있음)로 요청을 검토하는 데 관심이 있다고 지정하셨습니다. 핸들러를 테스트하려면 처리 할 핸들러를 지정한 것으로 해석 할 엔드 포인트에 http 요청을 보내면됩니다.

관련 문제