mono

An open source, cross-platform, implementation of C# and the CLR that is binary compatible with Microsoft.NET

SlackBuild

Package 64: mono-2.11.4-x86_64-1_SBo.tgz

Package 64 bit: gtk-sharp-2.12.10-x86_64-1_SBo.tgz

Package 64 bit: mono-addins-1.0-x86_64-1_SBo.tgz

Register .net/Mono for binfmt_misc

http://www.mono-project.com/Running_your_first_Mono_application

XSP, ASP.Net mono web server

cd /tmp
wget https://slackbuilds.org/slackbuilds/14.2/development/xsp.tar.gz
tar xvzf xsp.tar.gz
cd xsp
wget https://github.com/mono/xsp/archive/4.4/xsp-4.4.tar.gz
./xsp.SlackBuild 
installpkg /tmp/xsp-4.4-i586-1_SBo.tgz

example asp.net

|-- index.aspx
|-- index.aspx.cs
`-- web.config

index.aspx

   1 <%@ Page language="c#" src="index.aspx.cs" Inherits="helloworld.Index" AutoEventWireup="false"%>
   2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
   3 <html xmlns="http://www.w3.org/1999/xhtml" >
   4 <head runat="server">
   5     <title>Hello Page</title>
   6 </head>
   7 <body>
   8   <div>
   9     <form method="post" runat="server">
  10       <asp:Label id="lblx" runat="server"></asp:Label>
  11       <asp:Button id="btnx" runat="server" onclick="btnx_Click" Text="Click me" ></asp:Button>
  12     </form>
  13   </div>
  14 </body>
  15 </html>

index.aspx.cs

   1 // xsp --applications /helloworld:.
   2 // http://localhost:9000/helloworld/
   3 
   4 using System;
   5 using System.Web.UI.WebControls;
   6 using System.Configuration;
   7 
   8 namespace helloworld
   9 {
  10    public class Index : System.Web.UI.Page
  11    {   
  12       protected Label lblx; 
  13       protected Button btnx;
  14       
  15       protected override void OnLoad(EventArgs e)
  16       {          
  17          base.OnLoad (e);
  18          Console.WriteLine("OnLoad");
  19          lblx.Text = "Beerrrr ...";
  20   
  21          if(!IsPostBack){
  22            ViewState["counter"]=0;    
  23            var appSettings = ConfigurationManager.AppSettings;
  24            Console.WriteLine(  appSettings["setting1"] );
  25          }
  26       }
  27       
  28       protected override void OnPreRender(EventArgs e)
  29       {          
  30          base.OnPreRender (e);
  31          Console.WriteLine("OnPreRender");
  32       }      
  33       
  34       protected void btnx_Click(object sender, EventArgs e)
  35       {
  36         Console.WriteLine("Btnx clicked");  
  37         int val = (int) ViewState["counter"];
  38         val++;
  39         lblx.Text = String.Format("Pint time ! {0}",val);
  40         ViewState["counter"] = val;
  41       }
  42    }
  43 }

web.config

   1 <?xml version="1.0" encoding="utf-8"?>
   2 <configuration>
   3     <system.web>
   4         <customErrors mode="Off"/>
   5         <httpModules>
   6         </httpModules>
   7     </system.web>
   8 
   9     <appSettings>
  10       <add key="setting1" value="asdf"/>
  11     </appSettings>
  12 </configuration>

CSharp/mono (last edited 2018-04-25 00:09:37 by localhost)