Avatar billede gedebuk Nybegynder
27. juli 2006 - 14:42 Der er 17 kommentarer og
1 løsning

Egne klasser virker ikke ved udbyder

Hej.

Jeg har lavet en del "gammeldags" ASP og er nu begyndt på ASP.NET (C#, version 2.0).

Jeg har lavet en klasse, som jeg gerne vil bruge fra forskellige sider (jeg bruger det samme objekt på forskellige sider ved at overgive det vha. Sessions).
Alting virker, når jeg kører det lokalt på min egen IIS eller vha. Visual Studios indbyggede webserver.
Klassen lægges af Visual Studio under mappen App_Code, hvilket vist også er meningen.

Nu vil jeg så gerne køre sitet på en udbyders webserver (som understøtter ASP.NET 2.0). Når jeg skal tilgå min egen klasse, får jeg følgende fejl:

Server Error in '/' Application.
--------------------------------------------------

Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS0246: The type or namespace name 'MyOwnClass' could not be found (are you missing a using directive or an assembly reference?)


Gør jeg noget forkert?
Kan man skrive noget i Web.Config, der får webserverens .NET compiler til at kompilere klasserne i App_Code?
Eller skyldes det, at udbyderne ikke tillader, at man laver sine egne klasser (så man kun kan bruge .NET-biblioteket)?


På forhånd tak,
Mads Pedersen
Avatar billede thomasabcd Nybegynder
27. juli 2006 - 14:46 #1
hvis du laver en lille ændring, eks. bare trykker på space et eller andet sted i din klasse og gemmer og uploader til websitet, recompiles klassen
Avatar billede snepnet Nybegynder
27. juli 2006 - 14:50 #2
Har du sikret dig at du har uploadet filen til App_Code på webserveren?
Mvh
Avatar billede gedebuk Nybegynder
27. juli 2006 - 14:52 #3
Yes, jeg har taget alle filer i mappen og kopieret direkte
Avatar billede snepnet Nybegynder
27. juli 2006 - 15:34 #4
Har du et link til der hvor det ligger?
Mvh
Avatar billede gedebuk Nybegynder
27. juli 2006 - 15:54 #5
Jeg har et testsite til at ligge her:
  http://www.mads-p.dk/test/
Avatar billede snepnet Nybegynder
27. juli 2006 - 16:12 #6
Prøv at lægge filen/klassen i App_Code i root.
Mvh
Avatar billede gedebuk Nybegynder
27. juli 2006 - 16:25 #7
Det har jeg faktisk også haft prøvet, men så vil det ikke længere kompilere...
Avatar billede snepnet Nybegynder
27. juli 2006 - 16:46 #8
Hvad mener du med ikke længere? - Det er en kompileringsfejl du har på siden.
Sker der noget andet når du lægger filen i App_Code i root? - og hvad sker der?
Mvh
Avatar billede gedebuk Nybegynder
27. juli 2006 - 17:37 #9
Hvis jeg flytter filen fra App_Code til root vil Visual Studio ikke længere kompilere. Der har det jo ellers virket hele tiden både i VS og lokalt.
Jeg har prøvet at lægge alt i root, også ved udbyderen - med akkurat samme resultat. Den siger stadig:

Compiler Error Message: CS0246: The type or namespace name 'MyOwnClass' could not be found (are you missing a using directive or an assembly reference?).

Burde man normalt have lov til at bruge sine egne klasser ved en udbyder? Jeg har foreløbig prøvet ved Azero og Web10.
Avatar billede thomasabcd Nybegynder
27. juli 2006 - 18:04 #10
Jeg har også mit site hos Azero og der er der ingen problemer
Avatar billede snepnet Nybegynder
27. juli 2006 - 18:15 #11
Det forekommer usansynligt at det har noget med din udbyder at gøre.
Må jeg se din klasse + din aspx fil + din codebehind fil.
Mvh
Avatar billede gedebuk Nybegynder
28. juli 2006 - 11:01 #12
Jep.

Klassen:
--------------------------------------------
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 class MyOwnClass
{
  private string myText;

  public string MyText
  {
      get { return myText; }
      set { myText = value; }
  }

  public MyOwnClass()
  {   
  }
}

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>
      Testside<br />
      <br />
      Skriv en tekst:<br />
      <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
      <br />
      <br />
      <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Gå til anden side" /></div>
    </form>
</body>
</html>

Default.aspx:
--------------------------------------------
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)
    {
      MyOwnClass own = new MyOwnClass();
      Session["own"] = own;
    }
  protected void Button1_Click(object sender, EventArgs e)
  {
      ((MyOwnClass)Session["own"]).MyText = TextBox1.Text;
      Response.Redirect("Default2.aspx");
  }
}

--------------------------------------------


Det hele ligger pakket ned på http://www.mads-p.dk/test/WebSiteOwnClass.zip
Avatar billede gedebuk Nybegynder
28. juli 2006 - 11:02 #13
Det nederste er naturligvis Default.aspx.xs :-)
Avatar billede gedebuk Nybegynder
28. juli 2006 - 11:02 #14
Det var da utroligt... Default.aspx.cs :-)
Avatar billede snepnet Nybegynder
28. juli 2006 - 11:38 #15
Helt sort at det ikke virker?!?.... Hvis vi skrives ved på messenger - har du så mod på at lade mig kigge på dit site?
Du kan bare lægge din messengeradresse her - så pinger jeg dig.
Mvh
Avatar billede gedebuk Nybegynder
28. juli 2006 - 11:46 #16
Det er fino - mads@mads-p.dk

Tak for hjælpen :-)
Avatar billede snepnet Nybegynder
28. juli 2006 - 12:18 #17
Årsagen til baladen var som antydet her:
27/07-2006 16:46:00
Mvh
Avatar billede gedebuk Nybegynder
28. juli 2006 - 12:20 #18
Jep, skulle bare læse ordenligt :-)
Mange tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester