webForumDet fria alternativet

ASP.Net problem

8 svar · 342 visningar · startad av KimG

KimGMedlem sedan apr. 2002105 inlägg
#1

Hejsan.
Har några problem när det gäller min asp.net applikation.

1. Forms authentication
När jag ska logga in i min applikation med hjälp av forms authentication får jag följande fel:

It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.

web.config:

<configuration>
      <system.web>
         <authentication mode="Forms">
            <forms name="authcookie" loginUrl="default.aspx" protection="All" timeout="720" />
         </authentication>
         <authorization>
            <deny users="?" />
         </authorization>
    </system.web>
</configuration>

Felhanteraren ger utslag på denna rad: <authentication mode="Forms">

2. DLL innhållande en namespace
Skapade en namespace, med namnet Mediabank med classen User. Komplierade filen till en dll, också med namnet mediabank(.dll). När jag sedan anropar denna med ex. New Mediabank.User får jag följande fel:

Type 'Mediabank.User' is not defined.

Dll filen ligger under bin i samma mapp som jag har sidan som jag anropar den med.

Hur går jag tillväga för att lösa dessa?
Värt att notera är att detta är min första "stora" applikation jag programmerar i ASP.NET.
Tacksam för snabb hjälp.

PDahlenMedlem sedan apr. 2004778 inlägg
#2

Det räcker inte med att lägga .dll filen i bin-mappen om du anropar den från ditt wwwprojekt. Du måste importera klassen till den sida eller klass som ska använda den.

Vad använder du för utvecklingsverktyg?

KimGMedlem sedan apr. 2002105 inlägg
#3

Hur menar du?

Kör med Web Matrix.

PDahlenMedlem sedan apr. 2004778 inlägg
#4

Ok, är inte helt hundra på hur Web Matrix fungerar.

Men det som måste göras är att den sida du försöker anropa din klass med måste veta om att klassen finns. Att du lägger den i bin mappen spelar ingen roll.
T.ex.
Ditt webbprojekt heter MyWebb
Din sida heter mypage.aspx
Sidan är då en klass som finns i namnrymden MyWebb och blir då MyWebb.mypage
Din klass heter Mediabank.User och om du inte importerar namnrymden Mediabank i mypage så vet inte den sidan om att det finns någon klass som heter User.

Hmm, kanske blev ännu rörigare.

KimGMedlem sedan apr. 2002105 inlägg
#5

Du menar typ

Import Namespace="Mediabank"

Eller?

/r
Har inte de aktuella filerna här just nu, så jag kan inte försöka själv...

PDahlenMedlem sedan apr. 2004778 inlägg
#6

Ja, och om du kör VB.NET är det

Imports Mediabank

Men som sagt, sen vet jag inte hur Web Matrix funkar. I Visual Studio måste man skapa en referens till dll-filen först.

VimpMedlem sedan juli 20022 537 inlägg
#7

Du måste skapa en virtuell katalog till sidan.

KimGMedlem sedan apr. 2002105 inlägg
#8

Okej. Då fattar jag...
Tack för hjälpen.
Ett problem mindre att lösa ;)

(Sätter inget slutgiltigt svar ännu för att se om jag kan lösa problemet med Forms Authentication)

KimGMedlem sedan apr. 2002105 inlägg
#9

/r Hade fel... Tack för hjälpen...

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)