سؤال

هل لديها أي معلومات حول الحصول على الإصدارات الحالية من ASP.NET MVC (معاينة 5) العمل على مونو 2.0؟ كان هناك معلومات على الإصدارات القديمة (معاينة 2، ربما معاينة 3)، ولكن رأيت أي تفاصيل حول جعل معاينة 5 العمل فعلا.

مونو مشروع خارطة الطريق يشير ASP.NET 3.5 لمونو 2.4 (العام المقبل). أي أفكار عن كيفية الحصول على هذه مفيدة قبل ذلك؟

ومزيد من التفاصيل: يبدو الأساسي قالب MVC معاينة 5 في العمل، طالما أن أتجنب الدليل الجذر. إذا أطلب من الجذر، وأحصل على:

Server Error in '/' Application
The virtual path '' maps to another application.

Description: HTTP 500. Error processing request.

Stack Trace:

System.Web.HttpException: The virtual path '' maps to another application.
  at System.Web.HttpContext.RewritePath (System.String filePath, System.String pathInfo, System.String queryString, Boolean setClientFilePath) [0x00000] 
  at System.Web.HttpContext.RewritePath (System.String path, Boolean rebaseClientPath) [0x00000] 
  at System.Web.HttpContext.RewritePath (System.String path) [0x00000] 
  at MvcApplication1._Default.Page_Load (System.Object sender, System.EventArgs e) [0x00000] 
  at System.Web.UI.Control.OnLoad (System.EventArgs e) [0x00000] 
  at System.Web.UI.Control.LoadRecursive () [0x00000] 
  at System.Web.UI.Page.ProcessLoad () [0x00000] 
  at System.Web.UI.Page.ProcessPostData () [0x00000] 
  at System.Web.UI.Page.InternalProcessRequest () [0x00000] 
  at System.Web.UI.Page.ProcessRequest (System.Web.HttpContext context) [0x00000] 

Version information: Mono Version: 2.0.50727.42; ASP.NET Version: 2.0.50727.42
هل كانت مفيدة؟

المحلول

وكذلك إمكانية أن RewritePath ل/ لديها نوعا من الخلل، وذلك فقط تجنب ذلك. تغيير RewritePath (Request.ApplicationPath) إلى:

HttpContext.Current.RewritePath("/Home/Index");

ويبدو لعلاج هذه المشكلة، وعلى الأقل التجريبي يعمل حتى الآن.

نصائح أخرى

وAsp.Net MVC 1.0 ستعمل مع فرع 2.4 من أحادية ولكن سوف لا تزال بحاجة إلى إصلاح RewritePath في تحميل الصفحة من default.aspx.cs

هل تستخدم مونو من إس أو مستقرة؟ أي نوع من خادم الويب الذي تستخدمه؟ ما هو نوع نظام التشغيل؟ هل لديك قواعد إعادة الكتابة في خادم الويب الخاص بك؟

لا أستطيع تشغيل المعاينة 4 في لينكس مع هذا في أسلوب Page_Load في default.aspx.cs

HttpContext.Current.RewritePath(Request.ApplicationPath);
 ((IHttpHandler)new MvcHttpHandler()).ProcessRequest(HttpContext.Current);

وأحتاج أن في ويندوز في بعض الأحيان أيضا. لم أكن اختبار الإصدار 5 في لينكس بعد، لذلك قد لا تعمل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top