2015-02-05 19 views
6

Stworzyłem bardzo mały projekt z ASP.NET vnext z prostym kontrolerem MVC i prostym kontrolerem Api.ASP.Net vnext api działa na localhost, zwraca 404 na błękitnym

Na localhost, wszystko działa. Jeśli wdrożyć do lazur stronie, tylko część MVC pracuje

Oto moja project.json

{ 
    "webroot": "wwwroot", 
    "version": "1.0.0-*", 
    "exclude": [ 
     "wwwroot" 
    ], 
    "packExclude": [ 
     "node_modules", 
     "bower_components", 
     "**.kproj", 
     "**.user", 
     "**.vspscc" 
    ], 
    "dependencies": { 
     "Microsoft.AspNet.Server.IIS": "1.0.0-beta2", 
     "Microsoft.AspNet.Mvc": "6.0.0-beta2" 
    }, 
    "frameworks" : { 
     "aspnet50" : { }, 
     "aspnetcore50" : { } 
    } 
} 

Startup.cs

using Microsoft.AspNet.Builder; 
using Microsoft.Framework.DependencyInjection; 

namespace Project.Web6 
{ 
    public class Startup 
    { 
     public void ConfigureServices(IServiceCollection services) 
     { 
      services.AddMvc(); 
     } 

     public void Configure(IApplicationBuilder app) 
     { 
      // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=398940 
      app.UseMvc(); 
     } 
    } 
} 

MVC Controller

public class HomeController : Controller 
{ 
    // GET: /<controller>/ 
    public string Index() 
    { 
     return "Hello world"; 
    } 
} 

Kontroler API

[Route("api/[controller]")] 
public class MessagesController : Controller 
{ 
    // GET: api/values 
    [HttpGet] 
    public IEnumerable<string> Get() 
    { 
     return new string[] { "value1", "value2" }; 
    } 
} 

Kontroler MVC działa dobrze, ale jeśli pójdę do http://myproject.azurewebsites.net/api/Messages zwraca 404

+0

Co i jak wdrożyłeś na lazur? –

+0

jeśli ten link pomaga: https://github.com/aspnet/Home/wiki/Deploy-an-AspNet-vNext-application-to-Microsoft-Azure-websites tell me to post to odpowiedź :) – astaykov

Odpowiedz

2

Oto jak rozwiązać ten problem:

app.UseMvc(routes => 
{ 
    routes.MapRoute(
     name: "default", 
     template: "{controller}/{action}/{id?}", 
     defaults: new { controller = "Home", action = "Index" }); 
}); 

nie mam pojęcia, dlaczego to pracuje lokalnie. ..

Powiązane problemy