คำถามติดแท็ก asp.net-core-mvc

ASP.NET Core MVC เป็นกรอบการนำเสนอที่มีน้ำหนักเบาสำหรับการสร้างเว็บไซต์แบบไดนามิกด้วย ASP.NET Core อนุญาตให้สร้างไซต์ MVC ที่ใช้คอนโทรลเลอร์หรือดูหน้า Razor ตามโมเดล MVC มีคุณสมบัติเช่นการกำหนดเส้นทางการผูกโมเดลและการตรวจสอบความถูกต้องตัวกรองเว็บ API และเอ็นจินมุมมองมีดโกน

10
หน้า. NET Core MVC ไม่รีเฟรชหลังจากการเปลี่ยนแปลง
ฉันกำลังสร้าง. NET Core MVC ในเวอร์ชันล่าสุด 2.2 ฉันมีปัญหาเมื่อทำการเปลี่ยนแปลงไฟล์ CSHTML และรีเฟรชหน้าการเปลี่ยนแปลงของฉันจะไม่แสดงในเบราว์เซอร์ ฉันต้องรีสตาร์ทโครงการเพื่อดูการเปลี่ยนแปลงของฉัน เหตุการณ์นี้เกิดขึ้นมาระยะหนึ่งแล้วดังนั้นฉันจึงไม่แน่ใจว่าการเปลี่ยนแปลงใดที่ทำให้เกิดปัญหานี้ ฉันได้ลองใช้ "Empty Cache and Hard Reload" ของ Chrome รวมถึงเบราว์เซอร์อื่น ๆ แต่ก็ไม่มีประโยชน์ สิ่งนี้เกิดขึ้นบน Windows และ Mac โดยใช้ทั้ง Visual Studio สำหรับ Mac และ VS Code ในโปรเจ็กต์. Net Core ที่เป็นค่าเริ่มต้นมันทำงานได้ดีดังนั้นมันต้องเป็นอะไรบางอย่างในโปรเจ็กต์ของฉันที่เปลี่ยนแปลงไประหว่างทาง ฉันสงสัยว่าฉันต้องเริ่มจากตรงไหนเพื่อแก้ไขปัญหานี้? ฉันได้พยายามแสดงความคิดเห็นเกือบทุกอย่างในของฉันStartup.csและProgram.csไม่มีความละเอียด

5
จะส่งคืนรหัสสถานะเฉพาะและไม่มีเนื้อหาจากคอนโทรลเลอร์ได้อย่างไร?
ฉันต้องการให้ตัวควบคุมตัวอย่างด้านล่างส่งคืนรหัสสถานะ 418 ที่ไม่มีเนื้อหา การตั้งรหัสสถานะนั้นง่ายพอสมควร แต่ดูเหมือนว่ามีบางอย่างที่ต้องทำเพื่อส่งสัญญาณการสิ้นสุดคำขอ ใน MVC ก่อน ASP.NET Core หรือใน WebForms ที่อาจมีการเรียกใช้Response.End()แต่มันทำงานอย่างไรใน ASP.NET Core ที่Response.Endไม่มีอยู่? public class ExampleController : Controller { [HttpGet][Route("/example/main")] public IActionResult Main() { this.HttpContext.Response.StatusCode = 418; // I'm a teapot // How to end the request? // I don't actually want to return a view but …

5
วิธีการแก้ไข Instance Inside ConfigureServices ใน ASP.NET Core
เป็นไปได้ไหมที่จะแก้ไขอินสแตนซ์IOptions<AppSettings>จากConfigureServicesเมธอดใน Startup? โดยปกติคุณสามารถใช้IServiceProviderเพื่อเริ่มต้นอินสแตนซ์ แต่คุณไม่มีในขั้นตอนนี้เมื่อคุณลงทะเบียนบริการ public void ConfigureServices(IServiceCollection services) { services.Configure<AppSettings>( configuration.GetConfigurationSection(nameof(AppSettings))); // How can I resolve IOptions<AppSettings> here? }


28
ไม่สามารถสร้างการโยกย้ายหลังจากอัปเกรดเป็น ASP.NET Core 2.0
หลังจากอัปเกรดเป็น ASP.NET Core 2.0 ดูเหมือนว่าฉันจะสร้างการย้ายข้อมูลไม่ได้อีกต่อไป ฉันได้รับ "เกิดข้อผิดพลาดขณะเรียกเมธอด 'BuildWebHost' ในคลาส 'Program' ดำเนินการต่อโดยไม่มีผู้ให้บริการแอปพลิเคชันข้อผิดพลาด: เกิดข้อผิดพลาดอย่างน้อยหนึ่งรายการ (ไม่สามารถเปิดฐานข้อมูล" ... "ที่ร้องขอโดยการเข้าสู่ระบบการเข้าสู่ระบบล้มเหลวในการเข้าสู่ระบบ ล้มเหลวสำหรับผู้ใช้ "... " " และ "ไม่สามารถสร้างออบเจ็กต์ประเภท 'MyContext' ได้เพิ่มการใช้งาน 'IDesignTimeDbContextFactory' ในโปรเจ็กต์หรือดู https://go.microsoft.com/fwlink/?linkid=851728สำหรับรูปแบบเพิ่มเติมที่รองรับในขณะออกแบบ" คำสั่งที่ฉันใช้ก่อนหน้านี้คือ$ dotnet ef migrations add InitialCreate --startup-project "..\Web"(จากโปรเจ็กต์ / โฟลเดอร์ที่มี DBContext) สตริงการเชื่อมต่อ: "Server=(localdb)\\mssqllocaldb;Database=database;Trusted_Connection=True;MultipleActiveResultSets=true" นี่คือ Program.cs ของฉัน public class Program { public static void Main(string[] …


3
วิธีเพิ่มพารามิเตอร์ลิงค์ไปยังตัวช่วยแท็ก asp ใน ASP.NET Core MVC
ฉันมีจำนวนมากประสบการณ์กับASP.NET MVC 1-5 ตอนนี้ฉันเรียนรู้ASP.NET Core MVCและต้องส่งพารามิเตอร์เพื่อเชื่อมโยงในหน้า ตัวอย่างเช่นฉันมีการดำเนินการต่อไปนี้ [HttpGet] public ActionResult GetProduct(string id) { ViewBag.CaseId = id; return View(); } ฉันจะใช้ลิงก์สำหรับการดำเนินการนี้โดยใช้ตัวช่วยแท็กได้อย่างไร <a asp-controller="Product" asp-action="GetProduct">ProductName</a>


5
ฉันจะรับ Url Referrer ใน ASP.NET Core MVC ได้อย่างไร
ฉันพยายามย้ายเว็บฟอร์ม ASP.NET MVC ไปยัง ASP.NET Core MVC ขณะนี้ฉันมีปัญหากับRequest.UrlReferrerชั้นเรียน บรรทัดเดิมคือ: [HttpPost] public async Task<ActionResult> ContactUsFormSubmit(ContactUs request) { var siteUrl = Request.UrlReferrer.ToString().ToLower(); .... } อย่างไรก็ตามด้วย ASP.NET Core จะไม่สามารถใช้ UrlReferrer ได้ ฉันพบสิ่งต่อไปนี้: Request.Headers["Referer"] ซึ่งส่งคืน StringValues ​​แทน String ฉันไม่แน่ใจว่าควรลองใช้อันนี้หรือมีวิธีแก้ไขอื่น ๆ สำหรับสถานการณ์นี้หรือไม่ Request.ServerVariablesยังใช้ไม่ได้หรือบางทีฉันอาจไม่มีเนมสเปซ เนมสเปซของฉันมีดังนี้: using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using …

6
คุณบังคับใช้การกำหนดเส้นทางตัวพิมพ์เล็กใน ASP.NET Core ได้อย่างไร?
ใน ASP.NET 4 สิ่งนี้ทำได้ง่ายเหมือนกับroutes.LowercaseUrls = true;ในRegisterRoutesตัวจัดการสำหรับแอป ฉันไม่พบสิ่งที่เทียบเท่าใน ASP.NET Core เพื่อให้บรรลุสิ่งนี้ ฉันคิดว่ามันจะอยู่ที่นี่: app.UseMvc(configureRoutes => { configureRoutes.MapRoute("Default", "{controller=App}/{action=Index}/{id?}"); }); แต่ไม่มีอะไรที่configureRoutesจะอนุญาต ... เว้นแต่จะมีวิธีการขยายบางที่ที่ฉันไม่พบในเอกสาร

6
WebUtility.HtmlDecode แทนใน. NET Core
ฉันต้องการถอดรหัสอักขระ HTML ใน. NET Core (MVC6) ดูเหมือนว่า. NET Core จะไม่มีฟังก์ชัน WebUtility.HtmlDecode ที่ทุกคนเคยใช้มาก่อน NET Core มีการแทนที่หรือไม่


6
การจำลอง IPrincipal ใน ASP.NET Core
ฉันมีแอปพลิเคชัน ASP.NET MVC Core ที่ฉันกำลังเขียนการทดสอบหน่วย หนึ่งในวิธีการดำเนินการใช้ชื่อผู้ใช้สำหรับฟังก์ชันบางอย่าง: SettingsViewModel svm = _context.MySettings(User.Identity.Name); ซึ่งเห็นได้ชัดว่าล้มเหลวในการทดสอบหน่วย ฉันมองไปรอบ ๆ และคำแนะนำทั้งหมดมาจาก. NET 4.5 เพื่อล้อเลียน HttpContext ฉันแน่ใจว่ามีวิธีที่ดีกว่าในการทำเช่นนั้น ฉันพยายามฉีด IPrincipal แต่เกิดข้อผิดพลาด และฉันก็ลองทำเช่นนี้ (จากความสิ้นหวังฉันคิดว่า): public IActionResult Index(IPrincipal principal = null) { IPrincipal user = principal ?? User; SettingsViewModel svm = _context.MySettings(user.Identity.Name); return View(svm); } แต่สิ่งนี้ทำให้เกิดข้อผิดพลาดเช่นกัน ไม่พบสิ่งใดในเอกสารเช่นกัน ...

2
ใช้ JWT Bearer Authentication หลายตัว
เป็นไปได้ไหมที่จะรองรับผู้ออกโทเค็น JWT หลายตัวใน ASP.NET Core 2 ฉันต้องการจัดเตรียม API สำหรับบริการภายนอกและฉันต้องใช้แหล่งที่มาของโทเค็น JWT สองแหล่งนั่นคือ Firebase และผู้ออกโทเค็น JWT ที่กำหนดเอง ใน ASP.NET core ฉันสามารถตั้งค่าการพิสูจน์ตัวตน JWT สำหรับ Bearer auth Scheme ได้ แต่สำหรับหน่วยงานเดียวเท่านั้น: services .AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddJwtBearer(options => { options.Authority = "https://securetoken.google.com/my-firebase-project" options.TokenValidationParameters = new TokenValidationParameters { ValidateIssuer = true, ValidIssuer = "my-firebase-project" ValidateAudience = true, ValidAudience = …


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.