Laden...

apache und mod_mono

Erstellt von sbertl000 vor 18 Jahren Letzter Beitrag vor 18 Jahren 4.858 Views
sbertl000 Themenstarter:in
822 Beiträge seit 2005
vor 18 Jahren
apache und mod_mono

also ich habe einen apache server(2.0.55) am laufen und will mod_mono verwenden (asp.net unter apache).

Das ist eine kleine Datei: mod_mono.so, die ich in \Apache2\modules\ reinkopiert habe.
Dann habe ich Apache neugestartet und wenn ich das notify icon von apache anklicke steht da: Apache/2.0.55(Win32) mod_mono/1.1.13 aber meine *.aspx Dateien werden nicht interpretiert, ich hoffe ihr könnt mir helfen.

D
15 Beiträge seit 2004
vor 18 Jahren

Hallo,

allein das Kopieren der .so-Datei reicht nicht aus. Du musst die http.conf-Datei von Apache noch editieren. Eine Anleitung dazu findest du hier:
Mono Project - mod_mono

mfg,

Jens

sbertl000 Themenstarter:in
822 Beiträge seit 2005
vor 18 Jahren

danke für den link, es hat funktioniert, aber es gibt ein weiteres Problem, der mod_mono will nicht so recht, er gibt Fehler aus, und zwar bei folgender asp.net seite

Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
        <div style="text-align: center">
                        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />&nbsp;<br />
            <br />
            <br />
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></div>
    </form>
</body>
</html>

und Default.aspx.cs:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Label1.Text = "Button geklickt";
    }
}

doch mod_mono gibt diesen Fehler aus:

Parser Error
Description: Error parsing a resource required to service this request. Review your source file and modify it to fix this error.

Error message: Cannot find type _Default

File name: C:\Programme\Apache Group\Apache2\htdocs\asp\default.aspx Line: 1

Source Error:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> //Hier ist der Fehler

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

doch unter dem "normalen" mono Web Server funktioniert die Seite!

sbertl000 Themenstarter:in
822 Beiträge seit 2005
vor 18 Jahren

hat niemand eine idee, wie gesagt, der fehler tritt in folgender zeile auf:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

Cannot find Type _Default

6.862 Beiträge seit 2003
vor 18 Jahren

Ich denke mal dein Mono läuft als 1.1 und nicht als 2.0 und deshalb kommt der mit dem partial nicht zurecht, weil es das ja erst ab 2.0 gibt.

Baka wa shinanakya naoranai.

Mein XING Profil.

sbertl000 Themenstarter:in
822 Beiträge seit 2005
vor 18 Jahren

und wie stell ich das um, denn der normale mono server kann es interpretieren

6.862 Beiträge seit 2003
vor 18 Jahren

Weiß nicht, habs selber noch nie benutzt, aber denke mal du musst mod_mono mit nem speziellen Parameter, entweder starten, oder neu übersetzen.

Baka wa shinanakya naoranai.

Mein XING Profil.

sbertl000 Themenstarter:in
822 Beiträge seit 2005
vor 18 Jahren

ok, ich werd mal googlen

D
15 Beiträge seit 2004
vor 18 Jahren

Hallo,

das derzeitige Mono enthält eine Implementation von Asp.Net 1.1. Dein Code-Beispiel ist jedoch eine Asp.Net 2.0 Seite, da sie auf Partial-Classes beruht. Entweder änderst du den Quellcode, sodass du auf die Asp.Net 1.1-Methode eine CodeBehindFile erstellst oder du bindest den XSP2 Server von Mono ein, der Asp.Net 2.0 untestützt (Jedoch nicht alle neuen Features. Für genaueres siehe Mono Project - Asp.Net).
Wie man dies macht hier.

mfg,

Jens

sbertl000 Themenstarter:in
822 Beiträge seit 2005
vor 18 Jahren

auf meinem pc ist ja xsp2 drauf, und die obere seite funktioniert auch tadellos, eben nur nicht unter mod_mono, das ist ja gerade das komische X(

D
15 Beiträge seit 2004
vor 18 Jahren

Hast du die mod_mono Konfiguration so umgestellt, dass mod_mono den xsp2 server verwendet?

sbertl000 Themenstarter:in
822 Beiträge seit 2005
vor 18 Jahren

tja, wenn ich jetzt noch wüsste wo ich das konfigurieren kann, ev. unter Apache??

D
15 Beiträge seit 2004
vor 18 Jahren

Richtig. In der Apache Konfigurationsdatei musst du mod_mono folgendermaßen konfigurieren:

LoadModule mono_module modules/mod_mono.so

Alias /test "usr/testpfad"
AddMonoApplications default "/test:/usr/testpfad"
MonoExecutablePath default /svn/install/bin/mono # Hier den Pfad zu Mono 2.0 eingeben
MonoServerPath default /svn/install/lib/mono/2.0/mod-mono-server2.exe # Hier den Pfad zum Mono 2.0 Server eingeben
MonoPath default "usr/local/assemblies" # Hier kann man weitere Pfade für Standorte von Assemblies hinzufügen und mittels : trennen
<Location /test>
SetHandler mono
</Location>

Ich hoffe, die Zeilen helfen dir weiter bzw funktioneren richtig. Ich selber habe bisher mod_mono noch nicht mit der .Net 2.0 Implementation laufen lassen.

mfg,

Jens

sbertl000 Themenstarter:in
822 Beiträge seit 2005
vor 18 Jahren

danke für die antwort, habe aber ein weiteres problem, und zwar Error 503 Service Temprarily Unaviable

Der Pfad zu xsp2.exe ist C:/Programme/Mono-1.1.15/lib/xsp/2.0
Die mod_mono_server2.exe Datei ist C:/Programme/Mono-1.1.15/lib/xsp/2.0/mod-mono-server2.exe
Im Ordner C:/Programme/Apache Group/Apache2/htdocs/asp soll mod_mono laufen. was mach ich nur falsch: Hier der code, den ich hinzugefügt habe:

LoadModule mono_module modules/mod_mono.so

Alias /asp "C:/Programme/Apache Group/Apache2/htdocs/asp"
AddMonoApplications default "/asp:C:/Programme/Apache Group/Apache2/htdocs/asp"
MonoExecutablePath default C:/Programme/Mono-1.1.15/lib/xsp/2.0
MonoServerPath default C:/Programme/Mono-1.1.15/lib/xsp/2.0/mod-mono-server2.exe
<Location /asp>
SetHandler mono
</Location>

Ich hoffe ihr könnt mir helfen

D
15 Beiträge seit 2004
vor 18 Jahren

Das hatte ich vergessen. mod_mono läuft nur unter linux. Es gibt jedoch auch eine Portierung, welche ich jedoch noch nicht getestet habe.
Siehe hier

sbertl000 Themenstarter:in
822 Beiträge seit 2005
vor 18 Jahren

ja dass kenn ich schon so hab ichs auch gemacht, nur gehts eben mit asp.net 2.0 nicht