2016-10-20 19 views
8

Giản Startup mã:Asp.net tuyến đường mặc định lõi

public void ConfigureServices(IServiceCollection services) 
{ 
    services.AddMvc(); 
} 

public void Configure(IApplicationBuilder app, IHostingEnvironment env) 
{ 
    app.UseMvc(routes => 
    { 
     routes.MapRoute(
     name: "default", 
     template: "", 
     defaults: new { controller = "Main", action = "Index" }); 
    }); 
} 

Sau khi chạy ứng dụng trong Visual Studio 2015 tôi thấy trong trình duyệt "localhost: xxx", nhưng tôi không nhìn thấy kết quả của MainController.Index() . Chỉ trang trống. Tôi đã bỏ lỡ cái gì?

Cập nhật:

Web.config:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.webServer> 
    <handlers> 
     <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/> 
    </handlers> 
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/> 
    </system.webServer> 
</configuration> 

Cập nhật 2:

vấn đề này xuất phát từ ngoại lệ trong sự phụ thuộc tiêm dịch vụ để điều khiển và vì tôi quên sử dụng nhà phát triển trang web ngoại lệ vừa trả về trang trống cho tôi. Vì vậy, tôi xin lỗi vì câu hỏi không chính xác, nhưng định tuyến là tốt trong trường hợp của tôi.

+0

Kiểm tra câu trả lời của tôi và cho tôi biết nếu đã giúp bạn! – mybirthname

Trả lời

6
routes.MapRoute(
    name: "default", 
    template: "{controller}/{action}/{id?}", 
    defaults: new { controller = "Main", action = "Index" }); 

routes.MapRoute(
    name: "default", 
    template: "{controller=Main}/{action=Index}/{id?}"); 

Đây là hai cách xác định tuyến đường mặc định. Bạn đang trộn chúng. Bạn cần luôn xác định mẫu. Trong cách thứ hai, bạn có thể ghi các giá trị mặc định trực tiếp trong mẫu.

+0

Không có gì trong số này giúp tôi. Tôi vẫn đang phát hiện vấn đề này. Sau khi một số thay đổi toàn bộ một phần mvc ngừng làm việc và tôi có thể nhận được chỉ tài nguyên tĩnh như các tập tin css và hình ảnh. –

+0

@KovpaevAlexey https://docs.asp.net/en/latest/fundamentals/routing.html kiểm tra url này. Đây là khá nhiều điều cơ bản về định tuyến trong lõi .net. – mybirthname

+0

Sự cố xuất phát từ ngoại lệ trong dịch vụ được tiêm phụ thuộc vào bộ điều khiển và vì tôi quên sử dụng trang web của nhà phát triển ngoại lệ chỉ trả lại trang trống cho tôi. Vì vậy, tôi xin lỗi vì câu hỏi không chính xác, nhưng định tuyến là tốt trong trường hợp của tôi. –

0

Đối với tất cả các bạn ai có được trang trống thiết PreserveCompilationContext true:

<PropertyGroup> 
    <TargetFramework>netcoreapp1.1</TargetFramework> 
    <PreserveCompilationContext>true</PreserveCompilationContext> 
    </PropertyGroup> 

trong csproj trong vs 2017 hoặc

"buildOptions": { "preserveCompilationContext": true } 

trong project.json

Các vấn đề liên quan