webForumDet fria alternativet

Problem med nätverkssökväg

.NET

5 svar · 1 033 visningar · startad av CokeLight

Medlem sedan juni 2000504 inlägg
Frågan#1

Hejsan,

Jag vill lista några mappar som ligger i en nätverksmapp (mappat den till T:\) mha DirectoryInfo:

DirectoryInfo dInfo = new DirectoryInfo(path);

sökvägen (path variabeln) har jag hårdkodat för tillfället så här:

ddlRootFolders.Items.Add(new ListItem(@"katalog", @"T:\katalog"));

Lokalt fungear det bra men när jag laddar upp till servern och kör där så fungerar det inte och jag får felmeddelandet:

System.IO.DirectoryNotFoundException Could not find a part of the path 'T:\'

Jag har skapat samma T:\ mappning på servern som på min lokala datorn, så den finns i alla fall.. Är det nån som vet...? På Google verkar folk ha rättighetsproblem men det gäller väl inte här...? Eller..? Finns det något jag har glömt att kolla? Om det är någon mer information eller kod jag kan visa så skriver jag gärna ett till inlägg om det underlättar.. :)

Medlem sedan dec. 19996 721 inlägg
#2

Enhetsmappningar är knutna till specifika användare, inte till datorn, så IIS-användaren har ingen aning om vad T:\ är. Använd UNC-sökvägen (\\andradatorn\utdelningen\) och se till att IIS-användaren har rätt att läsa i mappen.

Medlem sedan juni 2000504 inlägg
#3

hej Emission, tack för svaret! (kom hem precis o läste först nu).. aha.. ok så det är rättighetsproblem trots allt.. jag provade att ge ASPNET användaren först läs rättigheter men sen Full Control som en test men det påverkade ingenting.. men det är alltså IUSR_... som ska få läs-rättigheter för mappen..? o bättre o använda UNC sökväg alltså..? ok.. ska prova imorn.. tack igen :)

Medlem sedan dec. 19996 721 inlägg
#4

CokeLight skrev:

hej Emission, tack för svaret! (kom hem precis o läste först nu).. aha.. ok så det är rättighetsproblem trots allt.

Nej, det är inte ett rättighetsproblem. Problemet är att du inte använder UNC-sökvägen.

Medlem sedan juni 2000504 inlägg
#5

hmm.. ok.. jag provade att köra UNC-sökväg också.. fast kommer inte ihåg exakt.. om jag inte minns fel fick jag nåt i stil med "C:\servernamn\katalog" fast jag hade skickat in "\\servernamn\katalog" som path (jag vet inte var C: kom ifrån.. så problemet kanske löser sig om jag kommer på detta.. men det hände bara på servern o inte lokalt.. så det är lite konstigt?) Måste ha gjort nåt konstigt i nån annan del av koden kanske.. ska kolla när jag har koden framför mig o återkomma då.... =)

Medlem sedan juni 2000504 inlägg
#6

hejsan, jag fixade C:\ så att det inte längre finns med så nu kan jag skicka in UNC sökvägen istället utan problem:

ddlRootFolders.Items.Add(new ListItem(@"Katalog1\Katalog2", @"\\Server1\Katalog1\Katalog2"));

Men tyvärr fungerar det fortfarande inte på testservern (Server2) men lokalt fungerar koden, så det kanske är rättighetsproblem ändå eftersom det är mitt eget konto som exekverar på min lokala dator såsom du skrev, men inte på servern?

Jag provade att lägga till 3 konton:

- IUSR_Server1 (Server1)
- ASPNET (Server1)
- NETWORK SERVICE (Server1)

på Server1 E:\ (där Katalog1\Katalog2 ligger)

och gav dessa "List folder content" och "Read" rättigheter men detta hjälpte som sagt inte. Finns något mer jag kan prova? :)

Mvh

381 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
124 ms — deklarationer (db)
121 ms — hämta statistik (db)
128 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)