日历中的错误消息

时间:2011-02-03 19:01:54

标签: asp.net

当我点击远程机器中的应用程序时,我遇到了这个错误。

服务器错误。

安全例外 说明:应用程序尝试执行安全策略不允许的操作。要授予此应用程序所需的权限,请与您的系统管理员联系或在配置文件中更改应用程序的信任级别。

异常详细信息: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

我该怎么做才能消除此错误消息?

2 个答案:

答案 0 :(得分:1)

看起来您正在尝试打开W​​eb应用程序根目录之外的文件。将文件移动到IIS使用的服务帐户有权读取文件或更改您尝试读取的文件的读/写权限的位置。

答案 1 :(得分:0)

您是否手动输入错误消息? Path.GetTempPath是一种方法,如果不使用语法Path.GetTempPath(),则应该导致编译错误。如果它们可能不正确,那么很难深入挖掘您发布的错误消息。