2017-05-19 2 views
1

Ich brauche eine CSV-Datei in meinem Webservice zu lesen,C# Lesen CSV-Datei System.Security.SecurityException

hier ist mein Code so weit:

[WebMethod] 
    public List<string> getIdentifiants() 
    { 
     List<string> listA = new List<string>(); 
     List<string> listB = new List<string>(); 
     using (var fs = File.OpenRead(@"C:\Users\stag01\Desktop\identifiants.csv")) 
     using (var reader = new StreamReader(fs)) 
     { 

      while (!reader.EndOfStream) 
      { 
       var line = reader.ReadLine(); 
       var values = line.Split(';'); 

       listA.Add(values[0]); 
       listB.Add(values[1]); 
      } 
     } 

     return listA; 

    } 

Aber wenn ich versuche es, ich zu laufen habe diesen Fehler:

System.Security.SecurityException: É chec de la demande d'autorisation de type ‚System.Security.Permissions.FileIOPermission mscorlib, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089 ".
à System.Security.CodeAccessSecurityEngine.Check (Object Nachfrage, StackCrawlMark & stackMark, Boolean isPermSet)
à System.Security.CodeAccessPermission.Demand()
à System.IO.FileStream.Init (String Pfad, Filemode-Modus, FileAccess-Zugriff, Int32-Rechte, Boolesche userrights, FileShare-Freigabe, Int32-Puffergröße, FileOptions-Optionen, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy) à System.IO.FileStream..ctor (String-Pfad, FileMode-Modus, FileAccess-Zugriff, FileShare-Freigabe))
à System.IO.File.OpenRead (String-Pfad)
WebApplication1.WS_stage_2017.getIdentifiants() dans \ Nas-Server \ Use r Folder \ stag01 \ Mes documents \ Visual Studio 2017 \ Projects \ WebApplication1 \ WebApplication1 \ WS_stage_2017.asmx.cs: ligne 31

kann mir jemand bitte helfen?

+2

Ihre Anwendung läuft mit einem begrenzten Privileg Sie sollten volle Administrator-Konto beim Testen haben –

Antwort

0

Sie benötigen Leseberechtigungen. Führen Sie als Administrator Visual Studio aus, wenn Sie lokal debuggen. Wenn Sie einen Server betreiben, müssen Sie die Leseberechtigung für Ihren Service-Anwendungspool auf iss setzen.

Auch dieser Code falsch. Nur ein Benutzer kann ausgeführt werden. 2 Clients können diese Datei nicht gleichzeitig öffnen. Sie müssen für dieses Problem eine Sperre verwenden.

+0

Es funktioniert, danke! – Kurapika