Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

ไฟล์ JSON ต่างๆ ใน C# ASP.NET Core มีอะไรบ้าง

ASP.NET Core ถูกสร้างใหม่จากรุ่นก่อนหน้าของ ASP.NET ซึ่งการกำหนดค่า (Configuration) ขึ้นอยู่กับ System.Configuration และไฟล์ XML ใน web.config ใน ASP.NET Core มีวิธีใหม่ที่ง่ายขึ้นในการประกาศและเข้าถึงการตั้งค่าสากลสำหรับ Solution, การตั้งค่าเฉพาะโปรเจกต์, การตั้งค่าเฉพาะลูกค้า ฯลฯ โมเดลการกำหนดค่าใหม่ทำงานร่วมกับไฟล์ XML, INI และ JSON

ไฟล์ JSON การกำหนดค่าหลัก 6 ไฟล์ใน ASP.NET Core

global.json
launchsettings.json
appsettings.json
bundleconfig.json
project.json
bower.json

global.json

สามารถกำหนดการตั้งค่าระดับ Solution ในไฟล์ global.json

{
    "projects": ["src", "test"],
    "sdk": {
        "version": "1.0.0-preview2-003121"
    }
}
  • projects - คุณสมบัติ projects กำหนดตำแหน่งของซอร์สโค้ดสำหรับ Solution ระบุตำแหน่งสองแห่งสำหรับโปรเจกต์ใน Solution: src และ test โดย src มีแอปพลิเคชันจริง และ test มีการทดสอบ

launchsettings.json

ในไฟล์ launchsettings.json สามารถกำหนดการตั้งค่าเฉพาะโปรเจกต์ที่เกี่ยวข้องกับแต่ละโปรไฟล์ที่ Visual Studio กำหนดให้เปิดแอปพลิเคชัน รวมถึงตัวแปรสภาพแวดล้อมที่ควรใช้ สามารถกำหนดเฟรมเวิร์กสำหรับโปรเจกต์สำหรับการคอมไพล์และดีบักสำหรับโปรไฟล์เฉพาะได้

{
    "iisSettings": {
        "windowsAuthentication": false,
        "anonymousAuthentication": true,
        "iisExpress": {
            "applicationUrl": "https://localhost:50944/",
            "sslPort": 0
        }
    },
    "profiles": {
        "IIS Express": {
            "commandName": "IISExpress",
            "launchBrowser": true,
            "environmentVariables": {
                "ASPNETCORE_ENVIRONMENT": "Development"
            }
        },
        "ASPCoreMVCHelloWorld": {
            "commandName": "Project",
            "launchBrowser": true,
            "launchUrl": "https://localhost:5000",
            "environmentVariables": {
                "ASPNETCORE_ENVIRONMENT": "Development"
            },
            "kestrel": {
                "commandName": "kestrel",
                "sdkVersion": "dnx-clr-win-x86.1.0.0-preview2-003121"
            }
        }
    }
}

สามารถเปลี่ยนการตั้งค่าสำหรับแต่ละโปรไฟล์ได้ผ่านการคลิกขวาที่โปรเจกต์ แล้วเลือก Properties

appsettings.json

ASP.NET เก็บการตั้งค่าการกำหนดค่าแอปพลิเคชันใน Web.config ส่วน ASP.NET Core ใช้ AppSettings.json เพื่อเก็บการตั้งค่าแอปพลิเคชันแบบกำหนดเอง, Connection String ของฐานข้อมูล, Logging ฯลฯ

{
    "ApplicationInsights": {
        "InstrumentationKey": ""
    },
    "Logging": {
        "IncludeScopes": false,
        "LogLevel": {
            "Default": "Debug",
            "System": "Information",
            "Microsoft": "Information"
        }
    }
}

bundleconfig.json

สามารถกำหนดการตั้งค่าสำหรับ Bundling และ Minification สำหรับโปรเจกต์ได้

[
    {
        "outputFileName": "wwwroot/css/site.min.css",
        "inputFiles": ["wwwroot/css/site.css"]
    },
    {
        "outputFileName": "wwwroot/js/site.min.js",
        "inputFiles": ["wwwroot/js/site.js"],
        "minify": {
            "enabled": true,
            "renameLocals": true
        },
        "sourceMap": false
    }
]

project.json

ASP.NET Core ใช้ไฟล์ Project.json สำหรับเก็บการตั้งค่าการกำหนดค่าระดับโปรเจกต์ทั้งหมด ไฟล์ Project.json เก็บข้อมูลการกำหนดค่าในรูปแบบ JSON

{
    "dependencies": {
        "Microsoft.NETCore.App": {
            "version": "1.0.0",
            "type": "platform"
        },
        "Microsoft.AspNetCore.Mvc": "1.0.0",
        "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
        "Microsoft.Extensions.Logging": "1.0.0"
        // ... dependencies อื่นๆ
    }
}

bower.json

Bower เป็นตัวจัดการแพ็กเกจสำหรับเว็บ Bower จัดการคอมโพเนนต์ที่ประกอบด้วย HTML, CSS, JavaScript, ฟอนต์ หรือแม้แต่ไฟล์ภาพ Bower ติดตั้งเวอร์ชันที่ถูกต้องของแพ็กเกจที่คุณต้องการและ dependencies ของมัน

หมายเหตุ: ใน ASP.NET Core รุ่นใหม่ (2.0+) ไฟล์ project.json และ bower.json ถูกแทนที่ด้วย .csproj และ LibMan/npm ตามลำดับ