Frage

Ich versuche, meine erste ASP.NET Web-Seite arbeitet auf Windows zu erhalten mit Mono und der XSP Webserver.

Ich folge dieser Chaps Beispiel . Das ersten Teil sein Beispiels funktioniert sehr gut mit der neuesten Version von Mono. aber der Web-Teil scheint mit dem folgenden Fehler umfallen

  

'{Pfadname} \ Index.aspx.cs' ist kein   gültig virtueller Pfad.

Hier ist die vollständige Stack Trace:

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] 

Ich habe mich gefragt, ob jemand wusste, was dieser Fehler bedeutet. Ich glaube, ich bin für einen Mono-Experten suchen, die die Windows-Version ausprobiert wird.

War es hilfreich?

Lösung 3

Hey, ich weiß nicht, wie den „Code hinter“ zu bekommen Sachen arbeiten, aber ich habe eine Abhilfe gefunden, dass ich mit glücklich bin. Ich dachte, dass ich es schreiben würde hier zum Wohl des anderen auf. Grundsätzlich Sie den Code hinter in die Haupt Seite bewegen und es funktioniert super einfach mit dem

XSD-Befehl und keine Parameter.

<%@ 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>

Andere Tipps

Können Sie die Befehlszeile einfügen Sie verwenden xsp zu beginnen? Wenn Sie mit nur einem einzigen Webapp so etwas wie dies ist nicht wirklich nötig, und könnte die Quelle des Problems sein:

xsp --Bewerbungen / SimpleWebApp: C: \ Projects \ Mono \ ASPExample \

nur cd in das ASPExample Verzeichnis und führen xsp ohne Parameter.

Der Befehl i wurde mit lautete:

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

Ich habe gerade versucht XSP laufen ohne Parameter und ich bekomme die folgende Ausgabe:

  

xsp2 Zuhören auf Adresse: 0.0.0.0   Wurzelverzeichnis:   C: \ Projects \ Mono \ ASPExample Zuhören   auf Port: 8080 (nicht abgesichert) Drücken Sie die Eingabetaste   den Server zu stoppen.

Wenn ich versuche, um das Projekt auf

zu blättern

http: // localhost: 8080

Ich bekomme die gleiche Leistung wie vor D.h. jammern, dass die cs-Datei keine gültige virtuelle Pfad ist.

Ich denke, dass das src-Attribut der ASPX-Seite das Problem ist. Vielleicht ist es in der neuen Version von Mono aktualisiert. Ich werde in diesem Blick.

Vielen Dank für Ihre Antwort BTW.

Dave

Haben Sie versucht, xsp2 laufen anstatt xsp?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top