当我点击远程机器中的应用程序时,我遇到了这个错误。
服务器错误。安全例外 说明:应用程序尝试执行安全策略不允许的操作。要授予此应用程序所需的权限,请与您的系统管理员联系或在配置文件中更改应用程序的信任级别。
异常详细信息:System.Security.SecurityException:请求类型为'System.Security.Permissions.EnvironmentPermission,mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的权限失败。
来源错误:
Line 7: Dim oBF As New BinaryFormatter()
Line 8: Dim oFS As FileStream
Line 9: Dim strPath As String = Path.GetTempPath & "schedule.Bin"
Line 10:
Line 11: Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
源文件:D:\ Hosting \ 4423045 \ html \ please-god \ appointmentmentscheduler.aspx.vb行:9
有人能帮助我吗?该应用程序的完整代码是:
Imports System.IO
Imports System.Runtime.Serialization.Formatters.Binary
Partial Class appointmentscheduler
Inherits System.Web.UI.Page
Dim arrCalendar(12, 31) As String
Dim oBF As New BinaryFormatter()
Dim oFS As FileStream
Dim strPath As String = Path.GetTempPath & "schedule.Bin"
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If (Cache("arrCalendar") Is Nothing) Then
If (File.Exists(strPath)) Then
oFS = New FileStream(strPath, FileMode.Open)
arrCalendar = DirectCast(oBF.Deserialize(oFS), Array)
oFS.Close()
Cache("arrCalendar") = arrCalendar
End If
Else
arrCalendar = Cache("arrCalendar")
End If
End Sub
Protected Sub btnSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSave.Click
arrCalendar(Me.myCalendar.SelectedDate.Month, Me.myCalendar.SelectedDate.Day) = Me.myNotes.Text
oFS = New FileStream(strPath, FileMode.Create)
oBF.Serialize(oFS, arrCalendar)
oFS.Close()
Cache("arrCalendar") = arrCalendar
End Sub
Protected Sub btnDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnDelete.Click
arrCalendar(Me.myCalendar.SelectedDate.Month, Me.myCalendar.SelectedDate.Day) = ""
oFS = New FileStream(strPath, FileMode.Create)
oBF.Serialize(oFS, arrCalendar)
oFS.Close()
Cache("arrCalendar") = arrCalendar
Me.myNotes.Text = ""
End Sub
Protected Sub myCalendar_DayRender(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DayRenderEventArgs) Handles myCalendar.DayRender
If arrCalendar(e.Day.Date.Month, e.Day.Date.Day) <> "" Then
e.Cell.BackColor = Drawing.Color.Red
End If
End Sub
Protected Sub myCalendar_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles myCalendar.SelectionChanged
Me.myNotes.Text = ""
If arrCalendar(Me.myCalendar.SelectedDate.Month, Me.myCalendar.SelectedDate.Day) <> "" Then
Me.myNotes.Text = arrCalendar(Me.myCalendar.SelectedDate.Month, Me.myCalendar.SelectedDate.Day)
End If
End Sub
End Class
我该怎么做才能消除此错误消息?
答案 0 :(得分:1)
看起来您正在尝试打开Web应用程序根目录之外的文件。将文件移动到IIS使用的服务帐户有权读取文件或更改您尝试读取的文件的读/写权限的位置。
答案 1 :(得分:0)
您是否手动输入错误消息? Path.GetTempPath
是一种方法,如果不使用语法Path.GetTempPath()
,则应该导致编译错误。如果它们可能不正确,那么很难深入挖掘您发布的错误消息。