عينة صفحة ويب باستخدام مونو وXSP على مربع ويندوز

StackOverflow https://stackoverflow.com/questions/290860

سؤال

وأنا في محاولة للحصول على بلدي أول صفحة ASP.NET الويب التي تعمل على ويندوز باستخدام مونو وخادم XSP على شبكة الإنترنت.

وأنا بعد هذه الفصول سبيل المثال . و الجزء الأول من مثاله يعمل بشكل جيد جدا مع أحدث نسخة من أحادية. ولكن جزء ويب يبدو أن السقوط بسبب الخطأ التالي

<اقتباس فقرة>   

و'{اسم مسار} \ Index.aspx.cs' ليس   المسار الظاهري صالح.

إليك الكامل تتبع المكدس:

System.Web.HttpException: 'C:\Projects\Mono\ASPExample\simpleapp\index.aspx.cs' is not a valid virtual path.  
   at System.Web.HttpRequest.MapPath (System.String virtualPath, System.String baseVirtualDir, Boolean allowCrossAppMapping) [0x00000]   
   at System.Web.HttpRequest.MapPath (System.String virtualPath) [0x00000]   
   at System.Web.Compilation.BuildManager.AddToCache (System.String virtualPath, System.Web.Compilation.BuildProvider bp) [0x00000]   
   at System.Web.Compilation.BuildManager.BuildAssembly (System.Web.VirtualPath virtualPath) [0x00000]   
   at System.Web.Compilation.BuildManager.GetCompiledType (System.String virtualPath) [0x00000]   
   at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath (System.String virtualPath, System.Type requiredBaseType) [0x00000]   
   at System.Web.UI.PageParser.GetCompiledPageInstance (System.String virtualPath, System.String inputFile, System.Web.HttpContext context) [0x00000]
   at System.Web.UI.PageHandlerFactory.GetHandler (System.Web.HttpContext context, System.String requestType, System.String url, System.String path) [0x00000]
   at System.Web.HttpApplication.GetHandler (System.Web.HttpContext context, System.String url, Boolean ignoreContextHandler) [0x00000]
   at System.Web.HttpApplication.GetHandler (System.Web.HttpContext context, System.String url) [0x00000]
   at System.Web.HttpApplication+<Pipeline>c__Iterator5.MoveNext () [0x00000] 

وأنا أتساءل عما اذا كان أي شخص يعرف ما يعني هذا الخطأ. أعتقد أنا أبحث عن خبير أحادية، الذي قد جربت نسخة ويندوز.

هل كانت مفيدة؟

المحلول 3

ويا أنا لا أعرف كيفية الحصول على "التعليمات البرمجية خلف" الاشياء تعمل ولكني وجدت الحل الذي أنا سعيد به. ظننت أنني كنت بعد ذلك هنا لصالح الآخرين. في الأساس قمت بنقل التعليمات البرمجية خلف إلى الصفحة الرئيسية ويعمل كبيرة فقط باستخدام

الأمر XSD وأية معلمات.

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>Code behind Arrrrrrrrrrgh</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <script runat="server">
    private void Page_Load(Object sender, EventArgs e)
    {
       DisplayServerDetails();
       DisplayRequestDetails();

    }

    private void DisplayServerDetails()
      {
        serverName.Text = Environment.MachineName;
        operatingSystem.Text = Environment.OSVersion.Platform.ToString();
        operatingSystemVersion.Text = Environment.OSVersion.Version.ToString();
      }

      private void DisplayRequestDetails()
      {
         requestedPage.Text = Request.Url.AbsolutePath;
         requestIP.Text = Request.UserHostAddress;
         requestUA.Text = Request.UserAgent;
      }

    </script>

  </head>

  <body>
    <form method="post" runat="server">
         <table width="450px" border="1px">
            <tr>
               <td colspan="2"><strong>Server Details</strong></td>
            </tr>
            <tr>
               <td>Server Name:</td>
               <td>
                  <asp:Label id="serverName" runat="server"></asp:Label></td>
            </tr>
            <tr>
               <td>Operating System:</td>
               <td>
                  <asp:Label id="operatingSystem" runat="server"></asp:Label>
               </td>
            </tr>
            <tr>
               <td>Operating System Version:</td>
               <td>
                  <asp:Label id="operatingSystemVersion" runat="server">
                  </asp:Label>
               </td>
            </tr>
         </table>
         <br>
         <table width="450px" border="1px">
            <tr>
               <td colspan="2"><strong>Request Details</strong></td>
            </tr>
            <tr>
               <td>Page Requested:</td>
               <td>
                  <asp:Label id="requestedPage" runat="server"></asp:Label>
               </td>
            </tr>
            <tr>
               <td>Request From:</td>
               <td>
                  <asp:Label id="requestIP" runat="server"></asp:Label>
               </td>
            </tr>
            <tr>
               <td>User Agent:</td>
               <td>
                  <asp:Label id="requestUA" runat="server"></asp:Label>
               </td>
            </tr>
         </table>
      </form>
  </body>

نصائح أخرى

ويمكن لصق سطر الأوامر التي تستخدم لبدء XSP؟ إذا كنت مجرد تشغيل يست هناك حاجة إلى تطبيق الويب شيء واحد مثل هذا حقا، ويمكن أن يكون مصدر المشكلة:

وXSP --المنتدى الأول / SimpleWebApp: C: \ مشاريع \ مونو \ ASPExample \

ومجرد مؤتمر نزع السلاح إلى الدليل ASPExample وتشغيل XSP مع أية معلمات.

وكان الأمر كنت تستخدم هذا:

@echo off
call C:\PROGRA~1\MONO-2~1.1\bin\setmonopath.bat
xsp --root . --port 8088 --applications /:.

وحاولت تشغيل فقط XSP مع أية معلمات وأحصل على الإخراج التالية:

<اقتباس فقرة>   

وxsp2 الاستماع على العنوان التالي: 0.0.0.0   دليل الجذر:   C: \ مشاريع \ مونو \ ASPExample الاستماع   على المنفذ: 8080 (غير الآمنة) ضرب العودة   لوقف الخادم.

عند أحاول لاستعراض المشروع على

HTTP: // المضيف المحلي: 8080

وأحصل على نفس الناتج كما كان من قبل أي الشكوى أن الملف خدمات العملاء ليس مسار ظاهري صالح.

وأنا أفكر أن سمة src من الصفحة ASPX هي المشكلة. ربما تم تحديثه في النسخة الجديدة من مونو. انا ذاهب للنظر في ذلك.

وشكرا لردكم BTW.

وديف

هل حاولت تشغيل xsp2 بدلا من XSP؟

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