l'esecuzione di codice in un servizio Web:NET IO Exception "Firma non valida"
using (File.OpenRead(@"\\server\file.txt"))
{
// some stuff
}
causano IO Exception che dice solo "Firma non valida"
io non riesco a trovare nulla tramite Google su questo errore messaggio quando si usano i metodi statici di File.
var exists = File.Exists(@"\\server\file.txt"))
non genera un'eccezione però, che fa sembrare come si può vedere il file lì, ma non si può aprire per la lettura.
Sono davvero in perdita per ciò che "Firma invalida" sta cercando di dire in questa istanza.
Grazie.
UPDATE: "Firma non valida"
Anche usando la rappresentazione per aprire i file di lettura dal server, si getta ancora l'eccezione IO con
Stack:
<StackTrace>
<StackFrame Index="6">
<FileName />
<Method>Void RenderImages(System.String, System.Nullable`1[System.Int32])</Method>
<LineNumber>0</LineNumber>
<ColumnNumber>0</ColumnNumber>
<ILOffset>88</ILOffset>
</StackFrame>
<StackFrame Index="5">
<FileName />
<Method>Void .ctor(System.String, Boolean)</Method>
<LineNumber>0</LineNumber>
<ColumnNumber>0</ColumnNumber>
<ILOffset>0</ILOffset>
</StackFrame>
<StackFrame Index="4">
<FileName />
<Method>Void .ctor(System.String, System.Text.Encoding, Boolean, Int32)</Method>
<LineNumber>0</LineNumber>
<ColumnNumber>0</ColumnNumber>
<ILOffset>7</ILOffset>
</StackFrame>
<StackFrame Index="3">
<FileName />
<Method>Void .ctor(System.String, System.Text.Encoding, Boolean, Int32, Boolean)</Method>
<LineNumber>0</LineNumber>
<ColumnNumber>0</ColumnNumber>
<ILOffset>113</ILOffset>
</StackFrame>
<StackFrame Index="2">
<FileName />
<Method>Void .ctor(System.String, System.IO.FileMode, System.IO.FileAccess, System.IO.FileShare, Int32, System.IO.FileOptions, System.String, Boolean, Boolean, Boolean)</Method>
<LineNumber>0</LineNumber>
<ColumnNumber>0</ColumnNumber>
<ILOffset>35</ILOffset>
</StackFrame>
<StackFrame Index="1">
<FileName />
<Method>Void Init(System.String, System.IO.FileMode, System.IO.FileAccess, Int32, Boolean, System.IO.FileShare, Int32, System.IO.FileOptions, SECURITY_ATTRIBUTES, System.String, Boolean, Boolean, Boolean)</Method>
<LineNumber>0</LineNumber>
<ColumnNumber>0</ColumnNumber>
<ILOffset>998</ILOffset>
</StackFrame>
<StackFrame Index="0">
<FileName />
<Method>Void WinIOError(Int32, System.String)</Method>
<LineNumber>0</LineNumber>
<ColumnNumber>0</ColumnNumber>
<ILOffset>571</ILOffset>
</StackFrame>
</StackTrace>
Ambiente:
<Environment>
<DateTime.Now>1/23/2015 8:50:28 AM</DateTime.Now>
<MachineName>xxxxx</MachineName>
<UserDomainName>xxxxx</UserDomainName>
<UserName>xxxx</UserName>
<Executable>w3wp.exe</Executable>
<ExecutableTimestamp>0101.01.0000</ExecutableTimestamp>
<CommandLine>c:\windows\system32\inetsrv\w3wp.exe -ap "xxx.xxxxx.com" -v "v4.0" -l "webengine4.dll" -a \\.\pipe\iisipm45ad21f3-41a8-4e9a-a27c-fd0c679b337a -h "C:\inetpub\temp\apppools\xxxx.xxxx.com\xxxx.xxx.com.config" -w "" -m 0 -t 20 -ta 0</CommandLine>
<OSVersion>Microsoft Windows NT 6.3.9600.0</OSVersion>
<WorkingSet>168112128</WorkingSet>
<EnvironmentVersion>4.0.30319.34003</EnvironmentVersion>
using (File.Open(@"\\server\file.txt", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)
e
File.WriteAllText(destinationFile, sb.ToString());
where destinationFile is \\server\sharename\generatedFileName.txt
Anche lanciare l'eccezione, a scopo di chiarimento.
sei sicuro che sia un file di testo? puoi aprirlo nel blocco note e vedere chiaramente i contenuti? – Tigran
È presente una proprietà InnerException popolata? –
Elimina tutto il testo del percorso e ri scrivilo a mano (dovrei eliminarlo prima di '@' dopo la fine '" 'per sicurezza), inizia a funzionare? Ho avuto problemi in passato dove copia/incolla i caratteri non stampabili copiati nel percorso del file che File.Open' non è in grado di gestire.Non ricordo se l'errore che ho ricevuto era "Firma non valida" tuttavia –