2013-10-01 5 views
3

OWIN 기반 명령 줄 자체 호스트 응용 프로그램을 사용하고 있으며 새 특성 경로가 내 웹 API 컨트롤러에서 잘 작동합니다. 그러나, 그들은 내 일반적인 MVC 컨트롤러에 대해 작동하지 않는 것처럼 보입니다.MVC 컨트롤러에 대한 특성 경로가 확인되지 않습니다.

필자는 start 메소드에서 경로 템플리트를 사용하여 경로를 이전 방법으로 매핑 해 보았습니다. 또한 속성 라우트로 시도했습니다. 어느쪽으로 든, 나는 그 길을 치려고 할 때 404를 얻는다.

내 시작 코드에서 Owin.WebApiAppBuilderExtensions 클래스에 정의 된 IAppBuilder.UseWebApi (...) 확장 메서드를 호출하지만 MVC (UseMvc (...))와 같은 것을 보지 못했습니다. 그들은 공존 할 수 있습니까? 나는 명백한 것을 놓치고 있는가?

여기 내 시작 코드입니다 :

var config = new HttpConfiguration(); 
config.SuppressDefaultHostAuthentication(); 
config.Filters.Add(new HostAuthenticationFilter(Startup.OAuthOptions.AuthenticationType)); 
config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); 
config.MapHttpAttributeRoutes(); 

app.UseCookieAuthentication(CookieOptions); 
app.UseExternalSignInCookie(CookieAuthenticationDefaults.ExternalAuthenticationType); 
app.UseOAuthBearerTokens(OAuthOptions, ExternalOAuthAuthenticationType); 
app.UseFacebookAuthentication(appId: "12345", appSecret: "abcdef"); 
app.UseWebApi(config); 

그리고 여기에 내 옛날부터 MVC 클래스 : 당신은이 있는지 확인 내 응용 프로그램에 /Home/Index 충돌

[RoutePrefix("Home")] 
public class HomeController : Controller 
{ 
    [HttpGet("Index")] 
    public ActionResult Index() 
    { 
     return Content("Hello world!", "text/plain"); 
    } 
} 

, 내가 할 (404)

답변

1

NuGet 패키지 "WebApp API"가 AttributeRouting 용으로 설치되었습니다.

비슷한 질문 : MVC Attribute Routing Not Working

+0

닫기,하지만 사실은 ASP.NET 5.0.0-RC1 (Visual Studio 2013 RC의 일부)과 함께 제공되는 특성 라우팅 시스템을 사용하고 있습니다. – gzak

4

현재 ASP.NET MVC는 OWIN 실행되지 않습니다. 웹 API는 최근에 이런 유형의 유연성을 염두에두고 작성되었으므로 System.Web에서 분리되었습니다. 특히 HttpContext에서 분리되어 OWIN에서 실행될 수 있습니다. OWIN에 실행합니까

일부 대안 FubuMVC, NancySimple.Web

David Fowler이에 몇 가지 작업을 수행하고 OWIN에서 실행 MVC의 다소 프로토 타입을 가지고 있지만 코드가 공개하고있다되지 않은했다입니다 조만간있을 것이라는 말은 없다.

관련 문제