Avatar billede the_party_dog Nybegynder
25. juni 2004 - 09:28 Der er 18 kommentarer og
1 løsning

Læs tekst fil fra netværks share

Hey!

Hvordan kan jeg komme til at læse en text fil fra et netværks share?

Hvis jeg bruger StreamReader, og giver den navnet til mit share, får jeg bare en fejl om at: "uri format is not supported"

StreamReader Read = new StreamReader("file://COMPUTERNAVN\\test\\Mojn.txt")

string Text = "";
            string sLine = "";
            int i = 0;

            while(sLine != null)
            {
                sLine = Read.ReadLine();
                Text = Text + sLine;

                i = i + 1;
            }
            Read.Close();
Avatar billede the_party_dog Nybegynder
25. juni 2004 - 09:28 #1
Fejlen lyder sådan:
"URI formats are not supported".
Avatar billede benne_ Nybegynder
25. juni 2004 - 09:52 #2
Hedder det ikke bare:

StreamReader Read = new StreamReader("\\COMPUTERNAVN\test\\Mojn.txt")
Avatar billede the_party_dog Nybegynder
25. juni 2004 - 09:53 #3
nej, forså begynder den at kigge på C drevet på serveren selv...
Avatar billede arne_v Ekspert
25. juni 2004 - 10:53 #4
Docs siger:

path can be a file name, including a file on a Universal Naming Convention (UNC) share.

path is not required to be a file stored on disk; it can be any part of a system that supports access via streams.

Så jeg er ening med benne, men du skal have 100% styr på backslasherne  - enten:

StreamReader Read = new StreamReader("\\\\COMPUTERNAVN\\test\\Mojn.txt")

eller:

StreamReader Read = new StreamReader(@"\\COMPUTERNAVN\test\Mojn.txt")
Avatar billede finger Nybegynder
25. juni 2004 - 16:11 #5
arne har fat i det rigtige.
Det skyldes at tegnet "\" normalt bruge til escape sekvenser. derfor skal man skrive "\\" hvis man vil angive tegnet "\". hvis man skal have to efter følgende "\" bliver det derfor til "\\\\".
Alternativt kan man angive at der ikke kan bruges escape sekvenser ved at skrive "@" foran sin string.
Avatar billede the_party_dog Nybegynder
28. juni 2004 - 07:57 #6
The referenced account is currently locked out and may not be logged on to.

Den fejl opstår nu, hvor jeg har prøvet at skrive tingen som arne_v skriver...
Avatar billede arne_v Ekspert
28. juni 2004 - 09:27 #7
Du skal have en lille snak med din netværks administrator !
Avatar billede the_party_dog Nybegynder
28. juni 2004 - 09:28 #8
hehe... Troede jeg også, men det er ikke helt korrekt... Jeg sidder og udvikler på vores server, så når du prøver på at få adgang til et share, bruger den ASP.NET brugeren fra serveren....

Det er nok grunden til at jeg ikke kan accesse mit share....
Avatar billede finger Nybegynder
28. juni 2004 - 09:32 #9
så skal du nok have fat i security frameworket så du kan bruge impersonation.
Kig også i web.config under security og sæt en impersonate=true ind
Avatar billede the_party_dog Nybegynder
28. juni 2004 - 09:33 #10
finger> jeg har kigget lidt på impersonation, og jeg kan ikke se mig ud af det.. Kan du måske beskrive det lidt nærmere, det ville virkelig hjælper mig MEGET...
Avatar billede finger Nybegynder
28. juni 2004 - 10:04 #11
du kan vist finde det du skal bruge her:
http://dotnetjunkies.com/Newsgroups/microsoft.public.dotnet.framework.aspnet/2004/3/31/104576.aspx
i det link er det et andet link til en google newsgroup hvor der også er beskrevet noget.

Ellers så prøv at lege lidt med web.config. sæt en linie ind i system.web delen således: <identity impersonate="true">
brug evt disse linier til at hente nuværende bruger:
Label1.Text = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
Label2.Text = HttpContext.Current.User.Identity.Name;

Hvis det er meningen at alle og enhver skal kunne udføre funktionen der tilgår en fil på dit share, så skal du nok i stedet kigge på at give IUSR eller ASPNET kontoen adgang til share'et istedet.
Avatar billede the_party_dog Nybegynder
28. juni 2004 - 11:08 #12
Jamen pånuværende tidspunkt har mit share sat "every one" til full access, fordi jeg tester flere muligheder...

Men stadigvæk får jeg samme fejl...
Avatar billede finger Nybegynder
28. juni 2004 - 11:15 #13
Er du sikker på at den konto du benytter ikke er låst?
som du selv skrev så får du jo en fejl som siger at kontoen er låst....
Det kan jo godt være at det giver problemer selv om "alle" har adgang til den.
Avatar billede the_party_dog Nybegynder
28. juni 2004 - 11:17 #14
Jeg udvikler på en server, som står på min virksomheds domain, og jeg vil have min applikation til at access min kollegas share. Det hele er på domainet, så det kan godt være at vores admin har sat begrænsninger på ASP.NET accounten.
Avatar billede finger Nybegynder
28. juni 2004 - 11:20 #15
det lyder ikke som en "begrænsning". det lyder som om at kotoen du benytter er _låst_. dvs blokeret. dette kan ske hvis det er sat policies op der detekterer et muligt misbrug af en konto
Avatar billede the_party_dog Nybegynder
28. juni 2004 - 11:21 #16
okay.. Det kan være du har ret... Jeg kontakte lige min admin(Sidder 20 meter væk) :) Vi går til middag nu, mange tak for din hjælp indtil nu :)
Avatar billede the_party_dog Nybegynder
01. juli 2004 - 07:19 #17
Jeg har fået løst mit problem, vi lavede en fiktiv bruger på vores domæne, og ham bruger jeg til min impersonation, og på den måde har jeg rettigheder til at læse på et share.

Finger> drop et svar, det var dig som fik mig hen på impersonation. :)
Avatar billede finger Nybegynder
01. juli 2004 - 08:24 #18
ok.
Du fandt aldrig ud af hvad problemet egentlig skyldes?
Avatar billede the_party_dog Nybegynder
01. juli 2004 - 08:28 #19
Jo, reglerne for hvordan IIS håndtere adgang til shares og andre ting, er fastsat til ikke at have mulighed for det. Så enten skal man have iss til at køre som en anden bruger, ellers skal man bruge impersonation.
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