ASP.NET Core 행군기

7595 단어
ASP.NET MVC 6:https://docs.asp.net/en/latest/mvc/index.html
ASP.NET Core :https://docs.asp.net/en/latest/fundamentals/index.html
cli-samples  : https://github.com/aspnet/cli-samples
다음은 내가 학습 과정 중의 몇 가지 총결을 기록하는 것이다
원망!
마이크로소프트의 발표 후보 버전은 정말 엉망진창이다.
1:3월초부터 ASP를 봅니다.NET Core, 2015를 이용하여 테스트 프로젝트를 만들었습니다. 모든 것이 정상적이고 모든 것이 OK입니다. 한 걸음에 도착한다고 해도 아무런 문제가 없습니다.
2: 아쉽게도 호황이 길지 않다. 이번 주에 프로젝트를 RC2로 업데이트했는데 프로젝트의 패키지 복원은 계속 틀렸다. [인용(오류-오류 목록 참조)] (실망, 비분, 광조...)
3:여기저기 찾다가 결국.NET 플랫폼 간 여행: 예제 사이트를 ASP.NET 5 RC1이 ASP로 업그레이드되었습니다.NET Core 1.0, 기대 이상.
4:오늘 Dotnet restore를 이용해서 가방을 업데이트한 후에 GG가 생겼어요.
 
의문
머리가 모자라니까, 누가 얼마든지 두 근 주세요!
1: CR2 이후 IIS 또는 IIS Express에 프로젝트를 어떻게 호스팅합니까?
2: 왜 내가 2015년에 오른쪽 단추를 눌렀는지 인용-복원 패키지는 항상 오류 [인용(오류-오류 목록 참조)]를 보고했지만 명령줄에서dotnet restore를 사용한 후에 다시 정상이 되었다.
3: 가끔 [no actions matched the current request]의 오류가 발생할 수 있습니다. 어떤 루트가 성공적으로 일치되었지만 요청이 action과 일치하지 않는다는 것은 또 무슨 문제입니까?근데 제가 Startup를 다시 수정하면...cs 파일 다음에 또 돼요!
   …………
N:and so on.
 
기본 구성
시간: 2016년 3월 17일 19:05:03
1, 프로그램 포털 구성(Program.cs):
public class Program
{
    public static void Main(string[] args)
    {
        var host = new WebHostBuilder()
                    .UseServer("Microsoft.AspNetCore.Server.Kestrel")
                    .UseContentRoot(Directory.GetCurrentDirectory())    
                    .UseDefaultConfiguration(args)
                    .UseIISPlatformHandlerUrl()
                    .UseStartup<Startup>()
                    .Build();

        host.Run();
    }
}
 :3.15     

UseApplicationBasePath(Directory.GetCurrentDirectory())
     

UseContentRoot(Directory.GetCurrentDirectory())
         ,   。
 
2,     (Startup.cs):
public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();
        services.AddTransient<Model.Services.StatisticsService>();
    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        app.UseMiddleware<artifacts.Middlewares.TimeRecorderMiddleware>();
         
        loggerFactory.AddConsole(LogLevel.Debug);

        app.UseIISPlatformHandler();
        app.UseForwardedHeaders(new ForwardedHeadersOptions
        {
            ForwardedHeaders = ForwardedHeaders.All
        });

        app.UseStaticFiles();

        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseMvcWithDefaultRoute();
    }
}

입구 프로그램과 시작 프로그램을 설정한 후 dotnet restore 업데이트 패키지를 명령한 다음dotnetrun을 입력하여 하숙 서비스를 시작합니다.
통과할 수 있어요.http://localhost:5000기본 라우팅을 통해 페이지를 로드합니다.
자, 간단하게 배치하면 이렇습니다.
 
사이트를 만들지 않은 간단한 절차
1, win + R cmd를 입력하고 디렉토리를 찾습니다(내 디렉토리는 D:\ASP.NET).
D:\ASP.NET>dotnet new
Created new C# project in D:\ASP.NET.

 
2,dotnet new 명령을 통해 간단한 기초를 초기화합니다.net 프로젝트
D:\ASP.NET>dotnet restore
log  : Restoring packages for D:\ASP.NET\project.json...
info : Committing restore...
log  : Restore completed in 4200ms.
NuGet Config files used:
    D:\ASP.NET\NuGet.Config
    C:\Users\Administrator\AppData\Roaming\NuGet\NuGet.Config
Feeds used:
    https://dotnet.myget.org/F/dotnet-core/api/v3/index.json
    https://api.nuget.org/v3/index.json

 
3, 시작하는 명령dotnet run 을 입력하고 프로그램을 시작합니다.
D:\ASP.NET>dotnet run
Compiling ASP.NET for DNXCore,Version=v5.0

Compilation succeeded.
    0 Warning(s)
    0 Error(s)

Time elapsed 00:00:03.2201958


Hello World!

 
4, 이렇게 실행, 쉽게 입문
//Program   
    public class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }

 
참고: 디렉토리 구조는 다음과 같습니다.
D:.
│  NuGet.Config
│  Program.cs
│  project.json
│  project.lock.json
│
├─bin
│  └─Debug
│      └─dnxcore50
│          │  ASP.NET.dll
│          │  ASP.NET.pdb
│          │
│          └─win7-x64
│                  ASP.NET.deps
│                  ASP.NET.dll
│                  ASP.NET.exe
│                  ASP.NET.pdb
│                  hostpolicy.dll
│
└─obj
    └─Debug
        └─dnxcore50
                dotnet-compile-csc.rsp
                dotnet-compile.assemblyinfo.cs
                dotnet-compile.rsp

 
dotnet new는 컨트롤러 프로그램을 만들었기 때문에 모든 것은 하나의 프로그램 파일만 있습니다.
WEB 어플리케이션을 구축하려면 Startup를 추가해야 합니다.cs 파일(위에 있음) 및 Program.cs에서는 WebHostBuilder를 사용하여 하숙을 합니다.

좋은 웹페이지 즐겨찾기