none
在VS2008中调试.aspx程序正常,在IIS6中出错了。请帮忙看看,谢谢。 RRS feed

  • 问题

  • 1.当应用程序不是以 UserInteractive 模式运行时显示模式对话框或窗体是无效操作。请指定 ServiceNotification 或 DefaultDesktopOnly 样式,以显示服务应用程序发出的通知。
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

    异常详细信息: System.InvalidOperationException: 当应用程序不是以 UserInteractive 模式运行时显示模式对话框或窗体是无效操作。请指定 ServiceNotification 或 DefaultDesktopOnly 样式,以显示服务应用程序发出的通知。

    源错误:


    行 84:     Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
    行 85:         If CDate(DropDownList1.Text) < CDate(DropDownList2.Text) Then
    行 86:             MsgBox("结束时间小于开始时间,请修改!", 48, "请注意")
    行 87:         End If
    行 88:     End Sub

     

     

    2.操作必须使用一个可更新的查询。
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

    异常详细信息: System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。

    源错误:


    行 69:             Dim dbcomm As New OleDbCommand(sqlstr, connection)
    行 70:
    行 71:             dbcomm.ExecuteNonQuery()
    行 72:
    行 73:             connection.Close()

    2008年8月15日 14:58

答案

  • ASP.NET中不要用MessageBox来显示。MessageBox是Windows Form的组件,不会发送到客户端的。
    可以用BLOCKED SCRIPT
    Page.RegisterStartupScript("alert","<script language=javascript>alert('gsm');</script>");

    2008年8月15日 17:28
  • mdb文件的安全性上必须有匿名账户(Network Service)可修改的权限。

     

    调试的时候与iis里使用的账户是不同的,所以出现你所遇到的2种条件下有不同结果的情况

     

    2008年8月16日 3:18
    版主

全部回复

  • ASP.NET中不要用MessageBox来显示。MessageBox是Windows Form的组件,不会发送到客户端的。
    可以用BLOCKED SCRIPT
    Page.RegisterStartupScript("alert","<script language=javascript>alert('gsm');</script>");

    2008年8月15日 17:28
  • 谢谢,第一个问题明了了。第二个问题,我在网上查了一下,说是把mdb文件的设置成USERS可写访问就可以了,是不是这样?

    因为我的单机上没有装IIS,所以没有办法调试。就是想请教一下。

    2008年8月16日 1:29
  • 第二个问题 是因为 aspnet 账户(win2003是 network service账户)对你的dmb文件没有写权限,或者mdb文件正在被其他用户或者程序访问

    2008年8月16日 2:35
  • mdb文件的安全性上必须有匿名账户(Network Service)可修改的权限。

     

    调试的时候与iis里使用的账户是不同的,所以出现你所遇到的2种条件下有不同结果的情况

     

    2008年8月16日 3:18
    版主