none
吐血救助ASP.net RRS feed

  • 问题

  • 虽然是ASP.net但是我是用VB.net写的,斑竹不要给我删了哈哈

    写了一个网页(我是ASP.net菜鸟),用来记录当前时间和访问者的IP

    源码如下:

    Imports System.IO
    Partial Class _Default
      Inherits System.Web.UI.Page
    
      Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim IP As String = Request("IP")
        If IP = "" Then Exit Sub
        If Not File.Exists(Server.MapPath("IPs.txt")) Then
          Dim xFS2 As FileStream = File.Create(Server.MapPath("IPs.txt"))
          xFS2.Close()
        End If
        Dim FS As FileStream = File.OpenRead(Server.MapPath("IPs.txt"))
        Dim SR As New StreamReader(FS)
        Dim Str As String = SR.ReadToEnd
        SR.Close()
        FS.Close()
        Dim xFS As FileStream = File.OpenWrite(Server.MapPath("IPs.txt"))
        Dim SW As New StreamWriter(xFS)
        SW.Write(Str + "IP是:" + IP + "  时间是:" + Now.ToString + Chr(13) + Chr(10))
        SW.Close()
        xFS.Close()
      End Sub
    End Class
    

    很明显就是我访问的时候例如写:

    http://127.0.0.1/index.aspx?IP=1.2.3.4

    就会记录下我写在IP后面的地址了,同时记录时间,本机测试成功,可是放到IIS上面就惨了,出错:

    对路径“C:\inetpub\wwwroot\IPs.txt”的访问被拒绝。

    要将 ASP.NET 访问权限授予某个文件,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。

    文件-属性-安全-编辑-高级-立即查找

    找到一堆用户,不知哪个才是ASP.net

    用的Win7,求助高手啊

    • 已移动 Sheng Jiang 蒋晟 2010年6月14日 12:54 IIS配置问题 (发件人:Visual Basic)
    2010年6月14日 9:05

答案

  • 你好!

         具体可以参考:

    http://tech.powereasy.net/Safe/saft/1368.html

        希望对你有帮助!


    周雪峰
    2010年6月14日 12:45
  • 你好,

    补充点,一般你给ASPNET,IIS_Users和Network service三个账户读写权限应该没问题的。


    Microsoft Online Community Support
    2010年6月16日 2:08

全部回复

  • 我把权限给了IIS_Users之后IIS可以了,但是互联网上又出错,怎么给ASP.net权限啊
    2010年6月14日 9:08
  • 你好!

         具体可以参考:

    http://tech.powereasy.net/Safe/saft/1368.html

        希望对你有帮助!


    周雪峰
    2010年6月14日 12:45
  • 你好,

    补充点,一般你给ASPNET,IIS_Users和Network service三个账户读写权限应该没问题的。


    Microsoft Online Community Support
    2010年6月16日 2:08
  • 首先你要求管理员放开wwwroot文件夹的写权限,再就是如果文件要放在根目录下就这样写Server.MapPath("~/IPs.txt"),如果放在app_data文件夹中就这样写Server.MapPath("~/app_data/IPs.txt"),只有这样才能获取到正确的目录。

    放开权限是这样:在wwwroot文件夹上点右健,属性,安全,选择你要放开的账户,选择它可能拥有的权限就ok啦

    2010年10月6日 3:45