Avatar billede nemezis_aalborg Nybegynder
24. november 2004 - 15:47 Der er 1 kommentar og
1 løsning

FileShare på fil

Hejsa..
Har lidt problemer med at få fileshare til at virke. Jeg kan tilsyneladende godt åbne en fil flere gange hvis fileshare er sat til Read og den åbnes med read mode. Men når jeg åbner med ReadWrite får jeg en exception :/
-------------------------------------------
class Test
{
    [STAThread]
    static void Main(string[] args)
    {
        string path = System.AppDomain.CurrentDomain.BaseDirectory + "test.txt";

        System.Security.Permissions.FileIOPermission permissions =
            new System.Security.Permissions.FileIOPermission(
            System.Security.Permissions.FileIOPermissionAccess.Read |
            System.Security.Permissions.FileIOPermissionAccess.Write |
            System.Security.Permissions.FileIOPermissionAccess.Append,
            path);

        System.IO.FileStream stream1 = new
            System.IO.FileStream(
            path,
            System.IO.FileMode.OpenOrCreate,
            System.IO.FileAccess.ReadWrite,
            System.IO.FileShare.Read);

        System.IO.FileStream stream2 = new
            System.IO.FileStream(
            path,
            System.IO.FileMode.Open,
            System.IO.FileAccess.Read);

        using (stream1)
        using (stream2)
        {
            // Test
            System.Console.Write(
                "Length of stream 1: " +
                stream1.Length + "\n" +
                "Length of stream 2: " +
                stream2.Length + "\n");
            // Clean up
            stream1.Close();
            stream2.Close();
        }
    }
}
-------------------------------------------
Avatar billede nemezis_aalborg Nybegynder
24. november 2004 - 15:49 #1
Poster også lige det eksempel, der virker hvor jeg åbner med Read-only
--------------------
class Test
{
    [STAThread]
    static void Main(string[] args)
    {
        string path = System.AppDomain.CurrentDomain.BaseDirectory + "test.txt";

        System.Security.Permissions.FileIOPermission permissions =
            new System.Security.Permissions.FileIOPermission(
            System.Security.Permissions.FileIOPermissionAccess.Read |
            System.Security.Permissions.FileIOPermissionAccess.Write |
            System.Security.Permissions.FileIOPermissionAccess.Append,
            path);

        System.IO.FileStream stream1 = new
            System.IO.FileStream(
            path,
            System.IO.FileMode.OpenOrCreate,
            System.IO.FileAccess.Read,
            System.IO.FileShare.Read);

        System.IO.FileStream stream2 = new
            System.IO.FileStream(
            path,
            System.IO.FileMode.Open,
            System.IO.FileAccess.Read);

        using (stream1)
        using (stream2)
        {
            // Test
            System.Console.Write(
                "Length of stream 1: " +
                stream1.Length + "\n" +
                "Length of stream 2: " +
                stream2.Length + "\n");
            // Clean up
            stream1.Close();
            stream2.Close();
        }
    }
}
--------------------
Avatar billede nemezis_aalborg Nybegynder
24. november 2004 - 16:05 #2
Har fundet ud af det ;)
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