我记录操作以证明特定用户已执行某些任务。写入日志文件在开发空间中工作(写入我的PC上的C:\ CPLogfile \),但是一旦我发布解决方案,我就会收到以下错误:
>应用程序中的服务器错误
我的代码:
Public Sub LogAction(WhoIsThis As String, MessageToLog As String)
Dim ThisPath As String = HttpContext.Current.Request.Url.Host
Dim LogfileName As String = "logAction" & Format(Now(), "yyyyMMdd") & ".txt"
If InStr(ThisPath, "localhost") > 0 Then '----- Local machine
LogfileName = "C:\CPLogfile\" & LogfileName
If Not Directory.Exists("C:\CPLogfile") Then
Directory.CreateDirectory("C:\CPLogfile\")
End If
Else
LogfileName = ThisPath & "logAction" & Format(Now(), "yyyyMMdd") & ".txt"
End If
Using w As StreamWriter = File.AppendText(LogfileName)
w.Write("{0} {1}", DateTime.Now.ToLongTimeString(), DateTime.Now.ToLongDateString())
w.WriteLine(", User: " & WhoIsThis)
w.WriteLine(" :{0}", MessageToLog)
w.WriteLine("-------------------------------")
End Using
End Sub
答案 0 :(得分:0)
默认情况下,您无法在IIS目录之外工作的主要原因是安全问题。它阻止了横向攻击等事情。您可以在开发计算机上使用的原因很可能是您没有使用完整的IIS产品。当您移动到IIS时,您将受到限制。
您有几个选择:
还有其他选择,但这三种最简单。最简单的是1号,因为它是IIS中的一个设置。我也不会推荐这个解决方案。