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

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

11
คุณจะสร้าง AuthorizeAttribute แบบกำหนดเองใน ASP.NET Core ได้อย่างไร
ฉันกำลังพยายามสร้างแอตทริบิวต์การให้สิทธิ์ที่กำหนดเองใน ASP.NET Core bool AuthorizeCore(HttpContextBase httpContext)ในรุ่นก่อนหน้ามันเป็นไปได้ที่จะแทนที่ AuthorizeAttributeแต่ตอนนี้ไม่ได้อยู่ใน แนวทางปัจจุบันในการสร้าง AuthorizeAttribute แบบกำหนดเองคืออะไร สิ่งที่ฉันพยายามทำให้สำเร็จ: ฉันได้รับรหัสเซสชันในการให้สิทธิ์ส่วนหัว จาก ID นั้นฉันจะรู้ว่าการกระทำบางอย่างนั้นถูกต้องหรือไม่

7
การแก้ไขอินสแตนซ์ด้วย ASP.NET Core DI
ฉันจะแก้ไขชนิดด้วยตนเองโดยใช้เฟรมเวิร์กการฉีดพึ่งพาของ ASP.NET Core MVC ได้อย่างไร การตั้งค่าคอนเทนเนอร์นั้นง่ายพอ: public void ConfigureServices(IServiceCollection services) { // ... services.AddTransient<ISomeService, SomeConcreteService>(); } แต่ฉันจะแก้ไขISomeServiceได้อย่างไรถ้าไม่ฉีดยา? ตัวอย่างเช่นฉันต้องการทำสิ่งนี้: ISomeService service = services.Resolve<ISomeService>(); IServiceCollectionไม่มีวิธีการดังกล่าวในการเป็น

21
วิธีการลงทะเบียนการใช้งานหลาย ๆ อินเทอร์เฟซเดียวกันใน Asp.Net Core
ฉันมีบริการที่ได้มาจากอินเทอร์เฟซเดียวกัน public interface IService { } public class ServiceA : IService { } public class ServiceB : IService { } public class ServiceC : IService { } โดยทั่วไปแล้วคอนเทนเนอร์ IoC อื่น ๆ เช่นUnityอนุญาตให้คุณลงทะเบียนการใช้งานที่เป็นรูปธรรมโดยบางส่วนKeyที่แตกต่าง ใน ASP.NET Core ฉันจะลงทะเบียนบริการเหล่านี้อย่างไรและแก้ไขได้ที่ runtime ตามคีย์บางตัว ฉันไม่เห็นAddวิธีการบริการใด ๆที่ใช้พารามิเตอร์keyหรือnameซึ่งมักจะใช้เพื่อแยกความแตกต่างของการใช้งานที่เป็นรูปธรรม public void ConfigureServices(IServiceCollection services) { // How do I register …


19
ข้อผิดพลาดการฉีดของ ASP.NET Core Dependency: ไม่สามารถแก้ไขบริการสำหรับประเภทในขณะที่พยายามเปิดใช้งาน
ฉันสร้างแอปพลิเคชั่น. NET Core MVC และใช้ Dependency Injection และ Repository Pattern เพื่อฉีดที่เก็บไปยังคอนโทรลเลอร์ของฉัน อย่างไรก็ตามฉันได้รับข้อผิดพลาด: InvalidOperationException: ไม่สามารถแก้ไขบริการสำหรับประเภท 'WebApplication1.Data.BloggerRepository' ในขณะที่พยายามเปิดใช้งาน 'WebApplication1.Controllers.BlogController' แบบจำลอง (Blog.cs) namespace WebApplication1.Models { public class Blog { public int BlogId { get; set; } public string Url { get; set; } } } DbContext (BloggingContext.cs) using Microsoft.EntityFrameworkCore; using WebApplication1.Models; namespace WebApplication1.Data …

8
วิธีการคืน HTTP 500 จาก ASP.NET Core RC2 Web Api
ย้อนกลับไปใน RC1 ฉันจะทำสิ่งนี้: [HttpPost] public IActionResult Post([FromBody]string something) { try{ // ... } catch(Exception e) { return new HttpStatusCodeResult((int)HttpStatusCode.InternalServerError); } } ใน RC2 ไม่มี HttpStatusCodeResult อีกต่อไปและไม่มีสิ่งใดที่ฉันสามารถค้นพบได้ซึ่งช่วยให้ฉันส่งคืน IActionResult ประเภท 500 ตอนนี้วิธีการนั้นแตกต่างกันอย่างสิ้นเชิงกับสิ่งที่ฉันถามหรือไม่? เราไม่ลองใช้Controllerโค้ดอีกต่อไปหรือไม่ เราเพียงแค่ปล่อยให้เฟรมเวิร์กส่งข้อยกเว้น 500 ทั่วไปกลับไปที่ผู้เรียก API หรือไม่ สำหรับการพัฒนาฉันจะดูสแต็กข้อยกเว้นที่แน่นอนได้อย่างไร

15
วิธีรับ ID ผู้ใช้ที่ล็อกอินในปัจจุบันใน ASP.NET Core
ฉันเคยทำสิ่งนี้มาแล้วเมื่อใช้ MVC5 User.Identity.GetUserId()แต่ดูเหมือนจะไม่ทำงานที่นี่ User.Identityไม่ได้มีGetUserId()วิธีการ ฉันใช้ Microsoft.AspNet.Identity

7
ฟอร์ม ASP.NET Core POST ส่งผลให้เกิดการตอบสนอง HTTP 415 Media Type ที่ไม่รองรับ
การส่งคำขอ POST HTTP แบบฟอร์ม ( Content-Type: application/x-www-form-urlencoded) ไปยังตัวควบคุมด้านล่างจะส่งผลให้เป็นHTTP 415การตอบสนองของMedia Type ที่ไม่รองรับ public class MyController : Controller { [HttpPost] public async Task<IActionResult> Submit([FromBody] MyModel model) { //... } } แบบฟอร์มโพสต์ส่วนหัว HTTP: POST /submit HTTP/1.1 Host: example.com:1337 Connection: keep-alive Content-Length: 219 Pragma: no-cache Cache-Control: no-cache Origin: https://example.com:1337 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows …

10
วิธีรับสภาพแวดล้อมการพัฒนา / การจัดเตรียม / การผลิตใน ConfigureServices
ฉันจะรับการพัฒนา / การจัดเตรียม / การผลิตสภาพแวดล้อมการโฮสต์ในConfigureServicesวิธีการในการเริ่มต้นได้อย่างไร public void ConfigureServices(IServiceCollection services) { // Which environment are we running under? } ConfigureServicesวิธีการใช้เวลาเพียงหนึ่งเดียวIServiceCollectionพารามิเตอร์

11
ASP.NET Core รับ Json Array โดยใช้ IConfiguration
ใน appsettings.json { "MyArray": [ "str1", "str2", "str3" ] } ใน Startup.cs public void ConfigureServices(IServiceCollection services) { services.AddSingleton<IConfiguration>(Configuration); } ใน HomeController public class HomeController : Controller { private readonly IConfiguration _config; public HomeController(IConfiguration config) { this._config = config; } public IActionResult Index() { return Json(_config.GetSection("MyArray")); } } มีรหัสของฉันด้านบนฉันได้รับ null วิธีการรับอาร์เรย์?

6
เลือก Tag Helper ใน ASP.NET Core MVC
ฉันต้องการความช่วยเหลือเกี่ยวกับตัวเลือกแท็กตัวช่วยใน ASP.NET Core ฉันมีรายชื่อพนักงานที่ฉันพยายามผูกกับตัวช่วยแท็กที่เลือก พนักงานของฉันอยู่ในList<Employee> EmployeesListค่าที่เลือกและจะเข้าสู่EmployeeIdคุณสมบัติ โมเดลมุมมองของฉันมีลักษณะเช่นนี้: public class MyViewModel { public int EmployeeId { get; set; } public string Comments { get; set; } public List<Employee> EmployeesList {get; set; } } คลาสพนักงานของฉันมีลักษณะเช่นนี้: public class Employee { public int Id { get; set; } public string FullName { get; set; …

11
รับค่าจาก appsettings.json ใน. net core
ไม่แน่ใจว่าฉันทำอะไรหายไปที่นี่ แต่ฉันไม่สามารถรับค่าจาก appsettings.json ของฉันในแอปพลิเคชัน. net หลักของฉัน ฉันมี appsettings.json ของฉันเป็น: { "AppSettings": { "Version": "One" } } เริ่มต้น: public class Startup { private IConfigurationRoot _configuration; public Startup(IHostingEnvironment env) { _configuration = new ConfigurationBuilder() } public void ConfigureServices(IServiceCollection services) { //Here I setup to read appsettings services.Configure<AppSettings>(_configuration.GetSection("AppSettings")); } } รุ่น: public class …

14
เผยแพร่ไปยัง IIS การตั้งค่าตัวแปรสภาพแวดล้อม
การอ่านคำถาม / คำตอบทั้งสองนี้ฉันสามารถเรียกใช้แอป Asp.net 5 บนเซิร์ฟเวอร์ IIS 8.5 ได้ Asp.net vNext เบต้าต้นเผยแพร่ไปยัง IIS ใน windows server วิธีกำหนดค่าแอป MVC6 ให้ทำงานบน IIS ได้อย่างไร ปัญหาคือแอปพลิเคชันเว็บยังคงใช้งานอยู่env.EnvironmentNameกับค่าDevelopmentแม้ว่าจะทำงานบน IIS นอกจากนี้ฉันต้องการเรียกใช้เว็บเดียวกันสองรุ่น (Staging, Production) บนเซิร์ฟเวอร์เดียวกันดังนั้นฉันจึงต้องการวิธีการตั้งค่าตัวแปรสำหรับแต่ละเว็บแยกกัน ทำอย่างไร

16
รวมรายการ 'เนื้อหา' ที่ซ้ำกัน .NET SDK รวมรายการ 'เนื้อหา' จากไดเรกทอรีโครงการของคุณโดยค่าเริ่มต้น
เมื่อใดก็ตามที่ฉันเพิ่มไฟล์ javascript หรือ css ในโปรเจ็กต์หลัก asp.net ของฉันและฉันดำเนินการdotnet runใน bash terminal ฉันได้รับข้อผิดพลาดต่อไปนี้: /usr/share/dotnet/sdk/1.0.1/Sdks/Microsoft.NET.Sdk/build/Microsoft .NET.Sdk.DefaultItems.targets (188,5): ข้อผิดพลาด: รวมรายการ 'เนื้อหา' ที่ซ้ำกัน .NET SDK รวมรายการ 'เนื้อหา' จากไดเรกทอรีโครงการของคุณโดยค่าเริ่มต้น คุณสามารถลบรายการเหล่านี้ออกจากไฟล์โครงการของคุณหรือตั้งค่าคุณสมบัติ "EnableDefaultContentItems" เป็น "เท็จ" หากคุณต้องการรวมไว้ในไฟล์โครงการของคุณอย่างชัดเจน สำหรับข้อมูลเพิ่มเติมโปรดดูที่https://aka.ms/sdkimplicititems รายการที่ซ้ำกันคือ: 'wwwroot / css / BasicQuotation.css'; 'wwwroot / js / BasicQuotation.js' [/mnt/c/Dev/myproject/MyProject/MyProject.csproj] การสร้างล้มเหลว โปรดแก้ไขข้อผิดพลาดของการสร้างและเรียกใช้อีกครั้ง ฉันสามารถแก้ไขได้โดยการลบItemGroupไฟล์ csproj ออกจากไฟล์ csproj ของฉัน แต่ฉันคิดว่ามันไม่ได้ผลมากนัก สิ่งนี้เกิดขึ้นในเทมเพลต …

10
ฉันจะเข้าถึง Configuration ในคลาสใดก็ได้ใน ASP.NET Core ได้อย่างไร
ฉันได้อ่านเอกสารการกำหนดค่าบน ASP.NET core แล้ว เอกสารระบุว่าคุณสามารถเข้าถึงการกำหนดค่าได้จากทุกที่ในแอปพลิเคชัน ด้านล่างนี้คือ Startup.cs ที่สร้างโดยเทมเพลต public class Startup { public Startup(IHostingEnvironment env) { var builder = new ConfigurationBuilder() .SetBasePath(env.ContentRootPath) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true); if (env.IsEnvironment("Development")) { // This will push telemetry data through Application Insights pipeline faster, allowing you to view results immediately. …

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