【问题标题】:ASP.NET Code Access Security - System.Net.SocketPermissionASP.NET 代码访问安全 - System.Net.SocketPermission
【发布时间】:2014-08-26 00:56:45
【问题描述】:

我在 ASP.net 4.0 中工作,该程序旨在读取来自 pop3.mail.com 服务器的电子邮件。

错误代码:

请求“System.Net.SocketPermission, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”类型的权限失败。

Pop3Client 和 OpenPop.dll 等其他电子邮件程序不适用于 ASP.net 4.0。

这个程序可能在 4.0 中工作,因为它没有附加外部 dll 程序。

代码:

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Try
        Dim tcpclient As New TcpClient()
        tcpclient.Connect("pop3.mail.com", 995)
        Dim sslstream As System.Net.Security.SslStream = New SslStream(tcpclient.GetStream())
        sslstream.AuthenticateAsClient("pop3.mail.com")
        Dim sw As System.IO.StreamWriter = New StreamWriter(sslstream)
        Dim reader As System.IO.StreamReader = New StreamReader(sslstream)
        sw.WriteLine("USER email@mail.com")
        sw.Flush()
        sw.WriteLine("PASS pass1")
        sw.Flush()
        sw.WriteLine("RETR 1")
        sw.Flush()
        sw.WriteLine("Quit ")
        sw.Flush()
        Dim str As String = String.Empty
        Dim strTemp As String = String.Empty
        While ((strTemp = reader.ReadLine()) <> "")
            If strTemp = "." Then
                Exit While
            End If
            If strTemp.IndexOf("-ERR") <> -1 Then
                Exit While
            End If
            str = str & " " & strTemp
        End While
        TextBox1.Text = str
    Catch ex As Exception
        Response.Write(ex.Message)
    End Try
End Sub

【问题讨论】:

标签: asp.net vb.net email


【解决方案1】:

请求“System.Net.SocketPermission, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”类型的权限失败。

我会假设这与 ASP.Net 上下文中的用法有关。如果是这样,

  • 如果这是在共享托管环境中,很可能(检查)您的托管服务提供商会将 ASP.Net 信任级别设置为 medium trust

  • 在您的本地计算机上进行开发时,您是在 full trust 中进行的。如果您set your ASP.Net locally to medium trust,您应该可以在本地开发环境中重现错误以确认。

这种差异很重要。请参阅this MSDN doc - 该表会有所帮助。你会看到Medium Trust中的System.Net.SocketPermission没有权限

第...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    • 1970-01-01
    相关资源
    最近更新 更多