| |
ASP.NET, WebServices u. RemotingStreamwriter sperrt Datei ?!? | | | Autor: Jojo | Datum: 18.03.13 12:55 |
| Hallo,
ich habe folgendes Problem:
Ich schreibe mit dem Streamwriter eine Datei. Wenn ich aber ein paar Minuten später versuche die Datei zu überschreiben, bekomme ich die Meldung, dass die Datei noch geöffnet sein. Ich mache die aber eigentlich zu
Was ist falsch an meinem Code?
Using sw As IO.StreamWriter = New IO.StreamWriter(Dateiname, False, _
System.Text.Encoding.Default)
SDR = New SqlCommand(SQL, sdc).ExecuteReader
For T = 0 To SDR.FieldCount - 1
sw.Write(SDR.GetName(T) & ";")
Next T
sw.WriteLine()
Do While SDR.Read
For T = 0 To SDR.FieldCount - 1
sw.Write(Replace(Replace(SDR(T).ToString, ";", ","), _
vbCrLf, " ") & ";")
Next T
sw.WriteLine()
Loop
SDR.Close()
sw.Close()
sw.Dispose()
End Using Wenn ich dann versuche eine neue Datei hoch zu laden kommt der Fehler:
If System.IO.Path.GetFileName( _
FileUpload1.PostedFile.FileName).EndsWith(".csv", _
StringComparison.CurrentCultureIgnoreCase) = True Then
'File upload
Try
If System.IO.File.Exists(Dateiname) = True Then _
System.IO.File.Delete(Dateiname)
FileUpload1.PostedFile.SaveAs(Dateiname)
Meldung.InnerHtml = tools.Sprache("Die Datei ### wurde" & _
"erfolgreich übertragen.").Replace("###", _
System.IO.Path.GetFileName( _
FileUpload1.PostedFile.FileName)) & "<br /><br />"
Catch ex As Exception
Meldung.InnerHtml = tools.Sprache("Fehler bei speichern" & _
"der Datei") & " " & Dateiname & "<br />" & _
ex.Message & "<br /><br />"
Exit Sub
End Try
'... Der Fehler kommt dann:
Fehler bei speichern der Datei C:\inetpub\wwwroot\...\Shop_Lieferadressen.csv
Der Prozess kann nicht auf die Datei "C:\inetpub\wwwroot\...\Shop_Lieferadressen.csv" zugreifen, da sie von einem anderen Prozess verwendet wird.
Wer hat eine Idee?
Joachim | |
Re: Streamwriter sperrt Datei ?!? | | | Autor: Jojo | Datum: 18.03.13 14:40 |
| Ja, ist eine Webseite.
Zuerst kann sich der Benutzer seine Daten als csv Datei erstellen lassen. Die bekommt er dann per Email gesendet. Die kann er ändern und wieder hochladen.
Der Fehler entsteht dann, wenn die hochgeladenen Datei unter dem gleichen Dateinamen gespeichert werden soll wie die Datei, die er angefordert hat. Da schlägt dann das löschen fehl ...
Joachim
Joachim | |
Re: Streamwriter sperrt Datei ?!? | | | Autor: Jojo | Datum: 19.03.13 12:30 |
| Hallo Dave,
du hast recht. Die Funktion mit dem Streamwrite ist nicht das Problem. Ich habe jetzt festgestellt, dass meine SendMail Funktion die Datei sperrt ...
Public Shared Function Sendmail(ByVal EmpfängerMail As String, ByVal _
Betreff As String, ByVal Mail_Text As String, ByVal Attachment As String, _
ByVal AbsenderMail As String, ByVal AbsenderName As String, Optional _
ByVal CC As String = "") As String
' SMTP-Server
Dim oSMTP As New SmtpClient
Dim oMail As New MailMessage(AbsenderMail, EmpfängerMail)
Dim SM1 As Integer, SMFeld() As String
With oSMTP
' Mailserver
.Host = "192.168.190.100"
.Port = 25
.Timeout = 10000
' Erweiterte Mail-Einstellungen
.UseDefaultCredentials = False
.DeliveryMethod = SmtpDeliveryMethod.Network
End With
With oMail
' Betreff
.Subject = Betreff
.IsBodyHtml = True
.Body = Mail_Text
' ggf. Kopie-Empfänger hinzufügen
If CC <> "" Then
SMFeld = Split(CC, ";")
For SM1 = 0 To UBound(SMFeld)
.CC.Add(New MailAddress(SMFeld(SM1)))
Next SM1
End If
' Anlagen hinzufügen
If Attachment <> "" Then
SMFeld = Split(Attachment, ";")
For SM1 = 0 To UBound(SMFeld)
.Attachments.Add(New Attachment(SMFeld(SM1)))
Next SM1
End If
' Priorität einstellen
.Priority = MailPriority.Normal
End With
Try
' Nachricht senden
oSMTP.Send(oMail)
Sendmail = ""
Catch oEx As Exception
' zweiten SMTP Server probierne ...
End Try
End Function Ich bekomme das Object oSMTP nicht zu. Ich habe das mit oSMTP.Dispose() versucht - aber das geht nicht.
Hast Du eine Idee?
Joachim | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats sevAniGif (VB/VBA)
Anzeigen von animierten GIF-Dateien
Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. Weitere Infos
|