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

ASP.NET MVC Framework เป็นเฟรมเวิร์กแอปพลิเคชันเว็บของ Microsoft ที่ใช้รูปแบบ model-view-controller (MVC)

14
คุณควรเขียน back-end ของคุณเป็น API หรือไม่?
วันนี้ฉันมีการสนทนาที่ร้อนแรงเกี่ยวกับแอปพลิเคชัน MVC ของเรา เรามีเว็บไซต์ที่เขียนใน MVC ( ASP.NET ) และโดยปกติจะเป็นไปตามรูปแบบของการทำอะไรบางอย่างในมุมมอง -> กดคอนโทรลเลอร์ -> คอนโทรลเลอร์สร้างโมเดล (เรียกผู้จัดการที่รับข้อมูลสร้างโมเดลใน วิธีการควบคุมเอง) -> โมเดลไปที่ดู -> ล้างและทำซ้ำ เขาบอกว่ารหัสของเราอยู่คู่กันแน่นเกินไป ตัวอย่างเช่นหากเราต้องการแอพพลิเคชันเดสก์ท็อปเช่นกันเราจะไม่สามารถใช้รหัสที่มีอยู่ของเราได้ วิธีแก้ปัญหาและแนวทางปฏิบัติที่ดีที่สุดที่เขากล่าวคือสร้าง API จากนั้นสร้างเว็บไซต์ของคุณบน API ของคุณจากนั้นสร้างแอปพลิเคชันเดสก์ท็อปแอพมือถือและอื่น ๆ นั้นง่ายมาก ดูเหมือนว่าเป็นความคิดที่ไม่ดีสำหรับฉันด้วยเหตุผลหลายประการ อย่างไรก็ตามฉันไม่สามารถหาสิ่งใดได้โดยใช้ Google ซึ่งอาจพูดถึงการฝึกฝนนี้ ใครบ้างมีข้อมูลเกี่ยวกับข้อดีข้อเสียทำไมคุณควรทำไมคุณไม่ควรหรืออ่านเพิ่มเติม เหตุผลบางอย่างที่ฉันคิดว่ามันเป็นความคิดที่ไม่ดี: มันเป็นนามธรรมเกินไปที่จะเรียกใช้แบ็กเอนด์ของคุณจาก API คุณกำลังพยายามทำให้ยืดหยุ่นเกินไปซึ่งจะทำให้ไม่สามารถจัดการได้ ทุกสิ่งที่สร้างขึ้นใน MVC ดูเหมือนไร้ประโยชน์เช่นบทบาทและการรับรองความถูกต้อง ตัวอย่างเช่น [อนุญาต] คุณสมบัติและความปลอดภัย; คุณจะต้องม้วนตัวเอง การเรียก API ทั้งหมดของคุณจะต้องมีข้อมูลความปลอดภัยแนบมาและคุณจะต้องพัฒนาระบบโทเค็นและอะไรก็ตาม คุณจะต้องเขียนการเรียก API ที่สมบูรณ์สำหรับทุกฟังก์ชั่นเดียวที่โปรแกรมของคุณจะทำ …

9
ทำไมฉันไม่ควรใช้รูปแบบพื้นที่เก็บข้อมูลกับ Entity Framework?
ในระหว่างการสัมภาษณ์งานฉันถูกขอให้อธิบายว่าทำไมรูปแบบที่เก็บไม่ใช่รูปแบบที่ดีในการทำงานกับ ORMs เช่น Entity Framework เหตุใดจึงเป็นเช่นนี้

19
เมื่อใดที่จะชอบ ASP.NET WebForms มากกว่า MVC
ฉันรู้ว่า Microsoft ได้กล่าว ASP.NET MVC ไม่ใช่การแทนที่สำหรับ WebForms และนักพัฒนาบางคนบอกว่า WebForms นั้นพัฒนาได้เร็วกว่า MVC แต่ฉันเชื่อว่าความเร็วในการเขียนรหัสลงมาถึงระดับความสะดวกสบายด้วยเทคโนโลยีดังนั้นฉันไม่ต้องการคำตอบใด ๆ ในหลอดเลือดดำนั้น เนื่องจาก ASP.NET MVC ให้นักพัฒนาสามารถควบคุมแอปพลิเคชันของตนได้มากขึ้นเหตุใด WebForm จึงไม่ถือว่าล้าสมัย อีกทางเลือกหนึ่งเมื่อใดที่ฉันควรสนับสนุน WebForms ผ่าน MVC สำหรับการพัฒนาใหม่

6
ความแตกต่างระหว่างสถานะและไร้สัญชาติคืออะไร?
หนังสือและเอกสารเกี่ยวกับ MVC เป็นเพียงกองในการใช้เงื่อนไข Stateful และไร้สัญชาติ บอกตามตรงฉันไม่สามารถคว้าความคิดของมันสิ่งที่หนังสือกำลังพูดถึง พวกเขาไม่ได้ยกตัวอย่างให้เข้าใจสถานะใดสถานะหนึ่งแทนที่จะบอกว่า HTTP นั้นไร้สถานะและด้วย ASP.NET MVC microsoft ก็จะเข้ากันได้ดี ฉันขาดความรู้พื้นฐานบ้างไหมเพราะฉันไม่สามารถเข้าใจสิ่งที่เป็นรัฐและทำไมรัฐจึงเหมือนกันและไร้สัญชาติ ตัวอย่างที่ง่ายและสั้นที่พูดถึงการควบคุมเช่นปุ่มหรือกล่องข้อความสามารถทำให้เข้าใจได้ง่ายขึ้น

1
เหตุใดโลกของ. Net จึงดูเหมือนว่าจะโอบกอดสายเวทมนตร์แทนที่จะเป็นทางเลือกที่ถูกพิมพ์อย่างคงที่?
ดังนั้นฉันทำงานใน. Net ฉันทำโครงการโอเพนซอร์สใน. Net หนึ่งในปัญหาที่ใหญ่ที่สุดของฉันกับมันไม่จำเป็นต้องมี. Net แต่กับชุมชนและกรอบรอบ ๆ มัน ดูเหมือนทุกที่แผนการตั้งชื่อและสตริงที่มีมนต์ขลังจะถือเป็นวิธีที่ดีที่สุดในการทำทุกอย่าง คำสั่งตัวหนา แต่ดูที่: ASP.Net MVC: สวัสดีเส้นทางโลก: routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = "" } // Parameter defaults ); สิ่งนี้หมายความว่า ASP.Net MVC จะค้นหาHomeControllerรหัสของคุณ สร้างอินสแตนซ์ใหม่ของมันแล้วเรียกใช้ฟังก์ชันIndex กับidพารามิเตอร์บางประเภท แล้วมีสิ่งอื่น ๆ เช่น: …

1
FormsAuthentication ล้าสมัยหรือไม่ [ปิด]
ฉันกำลังสร้างเว็บไซต์โดยใช้ ASP.NET MVC 5 Microsoft ปล่อยเทคโนโลยีใด ๆ เพื่อแทนที่ FormsAuthentication หรือพวกเขายังแนะนำให้ตรวจสอบสิทธิ์ผู้ใช้โดยใช้ FormsAuthentication สำหรับ MVC 5 หรือไม่

2
แนวทางที่ชัดเจนสำหรับการจัดการข้อผิดพลาดที่กำหนดเองใน ASP.NET MVC 3 มีอะไรบ้าง
กระบวนการในการจัดการข้อผิดพลาดที่กำหนดเองใน ASP.NET MVC (3 ในกรณีนี้) ดูเหมือนว่าจะถูกทอดทิ้งอย่างไม่น่าเชื่อ ฉันได้อ่านคำถามและคำตอบต่าง ๆ ที่นี่บนเว็บหน้าช่วยเหลือสำหรับเครื่องมือต่าง ๆ (เช่น Elmah) แต่ฉันรู้สึกว่าฉันได้เข้าสู่แวดวงที่สมบูรณ์และยังไม่มีทางออกที่ดีที่สุด ด้วยความช่วยเหลือของคุณบางทีเราสามารถกำหนดวิธีการมาตรฐานใหม่สำหรับการจัดการข้อผิดพลาด ฉันต้องการให้สิ่งต่าง ๆ เรียบง่ายและไม่ทำให้เกิดปัญหามากเกินไป นี่คือเป้าหมายของฉัน: สำหรับข้อผิดพลาดเซิร์ฟเวอร์ / ข้อยกเว้น: แสดงข้อมูลการดีบักใน dev แสดงหน้าข้อผิดพลาดที่เป็นมิตรในการผลิต บันทึกข้อผิดพลาดและส่งอีเมลถึงผู้ดูแลระบบในการผลิต ส่งคืนรหัสสถานะ HTTP 500 สำหรับข้อผิดพลาด 404 ไม่พบ: แสดงหน้าข้อผิดพลาดที่เป็นมิตร บันทึกข้อผิดพลาดและส่งอีเมลถึงผู้ดูแลระบบในการผลิต ส่งคืนรหัสสถานะ HTTP 404 มีวิธีในการบรรลุเป้าหมายเหล่านี้ด้วย ASP.NET MVC หรือไม่?

2
การผสม Angular และ ASP.NET MVC / Web api?
ฉันมาจากการใช้ ASP.NET MVC / Web API และตอนนี้ฉันเริ่มใช้ Angular แต่ฉันไม่ชัดเจนเกี่ยวกับวิธีการผสมที่เหมาะสม เมื่อฉันใช้ Angular แนวคิดด้านเซิร์ฟเวอร์ MVC ยังคงให้ค่าใด ๆ หรือฉันควรใช้ Web API อย่างเคร่งครัดเพื่อรับข้อมูลสำหรับการโทร HTTP เชิงมุม มีจุดเริ่มต้นที่น่าผิดหวังมากกว่าที่ฉันควรใช้หรือไม่ถ้าเทมเพลต VS กำลังเพิ่มสิ่งต่าง ๆ มากมายที่ฉันไม่ต้องการ ฉันชอบความคิดของการแบ่งฝั่งเซิร์ฟเวอร์อย่างเข้มงวด = ข้อมูลบริสุทธิ์และฝั่งไคลเอ็นต์ = การประมวลผล HTML ล้วนๆ

7
ASP.NET MVC สามารถทำอะไรได้บ้างและ Ruby on Rails ไม่สามารถทำได้? [ปิด]
ASP.NET MVC และ Rails มีพื้นที่การใช้งานที่คล้ายกันสร้างขึ้นรอบ ๆ สถาปัตยกรรมเดียวกันทั้งเฟรมเวิร์กค่อนข้างใหม่และโอเพ่นซอร์ส ดังนั้นในฐานะที่เป็นโปรแกรมเมอร์ Rails ที่ฉันอยากรู้ ASP.NET MVC สามารถทำอะไรได้บ้างและ Ruby on Rails ไม่สามารถทำได้และวีซ่ากลับกัน?

7
ทำไมทุกคนถึงนำคอนโทรลเลอร์ไปไว้ในโฟลเดอร์เดียวและอีกมุมมองหนึ่ง?
ฉันพร้อมที่จะโค้งงอจาก asp และเป็นกรอบ mvc, asp.net mvc หรือแนนซี่ เมื่อใดก็ตามที่ฉันไปฉันเห็นโฟลเดอร์สำหรับตัวควบคุม / โมดูลและโฟลเดอร์สำหรับมุมมอง นี่เป็นเพียงภาพเคลื่อนไหวของ pavlovian ในการจัดเรียงสิ่งต่าง ๆ ตามประเภทหรือมีการดำเนินงานอย่างลึกซึ้งยิ่งขึ้น? ฉันมีโปรเจ็กต์การพิสูจน์แนวคิดเล็กน้อยที่ฉันเก็บไฟล์ที่ฉันน่าจะเปิดด้วยกันไว้ด้วยกันซึ่งเป็นความสะดวกสบายที่สำคัญมาก เนื่องจากไฟล์เหล่านี้มีแนวโน้มที่จะเรียกซึ่งกันและกันไฟล์จึงสามารถทำได้โดยใช้ลิงก์ที่สั้นลงและเปราะน้อยกว่า รูปแบบนี้ถูกท้าทายโดย mvc เนื่องจากเส้นทางโฟลเดอร์จะไม่สอดคล้องกับเส้นทาง url โดยอัตโนมัติอีกต่อไปและใน asp.net mvc เทมเพลตโครงการและการกำหนดเส้นทางจะบังคับใช้ views \ controllers \ schism นี้หน้าไมโครซอฟท์แนะนำแนวคิดของพื้นที่ สามารถอ่านได้ว่าเป็นการยอมรับว่าแอพพลิเคชั่นขนาดใหญ่ไม่ใหญ่โตเป็นอย่างไรเนื่องจากการแยกแบบนี้ ผู้คนจะคัดค้าน "การแยกความกังวล" แต่การแยกความกังวลนั้นทำได้โดยการมีไฟล์ต้นฉบับแยกต่างหาก ไม่มีประโยชน์ใด ๆ ที่เป็นรูปธรรมสำหรับฉันจากการใช้ไฟล์ต้นฉบับเหล่านี้ที่เชื่อมโยงกันอย่างแน่นหนาและส่งมันไปยังอีกด้านหนึ่งของโครงสร้างโฟลเดอร์ มีคนอื่นต่อสู้สิ่งนี้หรือไม่? เคล็ดลับใด ๆ
36 mvc  asp.net-mvc 

2
การแยกการเข้าถึงข้อมูลใน ASP.NET MVC
ฉันต้องการตรวจสอบให้แน่ใจว่าฉันปฏิบัติตามมาตรฐานอุตสาหกรรมและแนวปฏิบัติที่ดีที่สุดกับการแตกที่แท้จริงครั้งแรกของฉันที่ MVC ในกรณีนี้คือ ASP.NET MVC โดยใช้ C # ฉันจะใช้ Entity Framework 4.1 สำหรับโมเดลของฉันโดยมีวัตถุเป็นรหัสแรก (ฐานข้อมูลมีอยู่แล้ว) ดังนั้นจะมีวัตถุ DBContext สำหรับดึงข้อมูลจากฐานข้อมูล ในการสาธิตที่ฉันได้อ่านผ่านเว็บไซต์ asp.net ผู้ควบคุมจะมีรหัสการเข้าถึงข้อมูลอยู่ สิ่งนี้ดูไม่ถูกต้องสำหรับฉันโดยเฉพาะอย่างยิ่งเมื่อทำตามแนวทางปฏิบัติของ DRY (อย่าทำซ้ำตัวเอง) ตัวอย่างเช่นสมมติว่าฉันกำลังเขียนแอปพลิเคชันเว็บที่จะใช้ในห้องสมุดสาธารณะและฉันมีตัวควบคุมสำหรับการสร้างอัปเดตและลบหนังสือในแคตตาล็อก การกระทำหลายอย่างอาจใช้ ISBN และต้องการส่งคืนวัตถุ "หนังสือ" (โปรดทราบว่านี่อาจไม่ใช่รหัสที่ถูกต้อง 100%): public class BookController : Controller { LibraryDBContext _db = new LibraryDBContext(); public ActionResult Details(String ISBNtoGet) { Book currentBook = _db.Books.Single(b …

3
มีค่าจริงในการทดสอบหน่วยควบคุมใน ASP.NET MVC หรือไม่?
ฉันหวังว่าคำถามนี้จะให้คำตอบที่น่าสนใจเพราะเป็นคำถามที่ทำให้ฉันอึดใจ มีค่าจริงในการทดสอบหน่วยควบคุมใน ASP.NET MVC หรือไม่? สิ่งที่ฉันหมายถึงโดยส่วนใหญ่แล้ว (และฉันไม่มีอัจฉริยะ) วิธีการควบคุมของฉันคือแม้สิ่งที่ซับซ้อนที่สุดของพวกเขาเช่นนี้: public ActionResult Create(MyModel model) { // start error list var errors = new List<string>(); // check model state based on data annotations if(ModelState.IsValid) { // call a service method if(this._myService.CreateNew(model, Request.UserHostAddress, ref errors)) { // all is well, data is saved, // …

4
เหตุใดจึงไม่มี WSDL type ที่รองรับ Web Api
ดังนั้นฉันเพิ่งเริ่มต้นกับ. Net WebApi และสิ่งหนึ่งที่ฉันสังเกตเห็นได้ทันทีคือไม่มีสัญญาที่กำหนดว่า API มีลักษณะอย่างไรและควรใช้งานอย่างไร (คำขอ / ตอบจากแต่ละการกระทำ) ซึ่งมักจะอยู่ในรูปแบบของ WSDL สำหรับ WCF / Soap ดูเหมือนว่าฉันจะเป็นสิ่งที่มีค่ามากและทำให้ชีวิตง่ายขึ้นสำหรับผู้บริโภค API ของคุณ มีเหตุผลที่ไม่มีหรือไม่ มีกระบวนทัศน์การเขียนโปรแกรมหรือหลักการที่ฉันไม่ทราบหรือไม่? มีวิธีที่ฉันสามารถสร้างหรือไม่

5
เราควรใช้ Entity Framework หรือไม่
ขณะนี้เรามีสแต็กต่อไปนี้: VS 2005 เว็บฟอร์ม SQL Server 2005 IIS 6 เรากำลังวางแผนที่จะเปลี่ยนเป็น: VS 2010 MVC และเว็บฟอร์ม SQL Server 2008 IIS 7 คำถามของฉันคือเมื่อเราย้ายไปที่ MVC ด้วย VS 2010 เราควรใช้ Entity Framework (หรือ ORM อื่น) micro ORM (เช่นMassive ) หรือ SQL ธรรมดาหรือไม่ บทเรียนทั้งหมดที่ฉันได้อ่านเกี่ยวกับ VS 2010 นั้นมุ่งไปที่การใช้ Entity Framework สำหรับการทำธุรกรรมข้อมูล แต่นั่นจะเป็นไปในอนาคตอันใกล้ (5+ ปี) หรือไม่? หากเป็นเรื่องสำคัญแอปพลิเคชันของลูกค้าของเราสามารถมีผู้ใช้งานตั้งแต่ 10 …

14
มือใหม่ที่กำลังมองหาคำแนะนำในการเขียนโปรแกรมโดยทั่วไป [ปิด]
ต้องการให้บางคนจำย้อนเวลาที่คุณอาจจะเขียนโปรแกรมไม่ดี ... รับงานใหม่ของฉัน (ในฐานะนักพัฒนาซอฟต์แวร์) สักสองสามเดือนแล้วผ่านช่วงทดลองงาน มีประสบการณ์การเขียนโปรแกรมน้อยมาก (C ++ เท่านั้น) และกำลังทำงานกับ asp.net MVC และ Silverlight ดังนั้นจึงมีเว็บไซต์ที่ บริษัท ดำเนินการอยู่และฉันได้เข้าร่วมในความพยายามที่จะทำให้ดีขึ้นขจัดข้อผิดพลาดและอื่น ๆ ปัญหาคือ - เรียนรู้เกี่ยวกับระบบ / เว็บไซต์ที่ทำไปแล้วผ่าน visual studio ฉันมักจะรู้สึกหงุดหงิดอย่างมากไม่เคยรู้เลยว่าควรจะค้นหาส่วนไหนของบรรทัดนี้และโดยทั่วไปแล้วจะมีปัญหามากมายในการรับภาพรวม Visual studio นั้นเป็นสิ่งที่ฉันพบว่ายากที่จะเข้าถึงได้โดยไม่ต้องพึ่งกรอบ asp.net ฉันได้รับความประทับใจว่าเนื่องจากเพื่อนร่วมงานของฉันมีประสบการณ์มากกว่าฉันพวกเขาได้งานที่ดีทั้งหมดและฉันก็เหลือที่จะทำสิ่งที่ไม่ได้แม้แต่การเขียนโปรแกรมราง หมายความว่าพวกเขากำลังเรียนรู้ / สร้างมากขึ้นและฉันกำลังเรียนรู้ / สร้างสิ่งที่ใกล้เคียง ฉันขวัญเสียและกลัวที่จะพูดอะไร ฉันไม่ได้โง่ฉันได้อ่านและฝึกฝนแนวคิดการเขียนโปรแกรมพื้นฐานมากมาย ... ฉันแค่กลัวเลือดกับกรอบการด่านี้ ฉันมองมันและรู้สึกเป็นอัมพาต ผลที่ได้คือฉันถามคำถามที่มีประสบการณ์มากขึ้นเรื่อย ๆ และเขาก็หงุดหงิดและอยากให้งานเขียนโปรแกรมง่าย / ไม่ใช้สติ / ไม่เขียนเพื่อหลีกเลี่ยงการเสียเวลาช่วยฉัน เมื่อฉันไม่เข้าใจบางอย่างฉันลังเลว่าฉันควรถามเขาหรือไม่และพยายามตัดสินใจว่าจะเสียเวลาหรือเปล่า ฉันเป็นคนประเภทที่หยิบสิ่งต่าง …

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