【问题标题】:How to get Client computer name from Asp.net web application (internet application)如何从 Asp.net Web 应用程序(互联网应用程序)获取客户端计算机名称
【发布时间】:2015-07-23 06:11:35
【问题描述】:

是否可以在 asp.net Web 应用程序中获取客户端计算机名称?

我不想使用 ActiveX 对象,因为并非所有浏览器都支持它。

我正在构建一个将托管在 Azure 中的应用程序,因此它没有使用以下代码提供正确的计算机名称。

字符串 pCName= System.Net.Dns.GetHostEntry(this.Page.Request.UserHostAddress).HostName

此代码仅适用于 Intranet 应用程序。任何人都可以建议我解决方案或任何替代解决方案来获取客户端 PC 名称吗?

【问题讨论】:

    标签: javascript asp.net .net


    【解决方案1】:

    如果计算机位于网络(intranet)中,您可以使用代码获取计算机名称,该网络可以按照您的建议正常工作。

    通过互联网访问系统的同时,没有计算机名称,而是 名称

    我想获取正在发出请求的客户端的机器名称 从。使用 ASP,我可以获得 IP 地址。但是不知道怎么获取 机器的名称。有什么我可以从客户那里做的吗 一边?

    No,网络浏览器客户端无法确定机器名称。

    客户端和服务器不应相互信任。在缺少...之下 身份验证证据,客户端必须假设所有服务器都在运行 由邪恶的黑客和服务器必须假设所有客户端都由 邪恶的黑客。一旦你接受了这个基本的设计原则,那么 推理客户端-服务器交互变得容易得多。 像一个邪恶的人一样思考!

    更多关于该主题的参考(检索系统名称),您可以参考:

    堆栈溢出帖子:

    1. Get Client ip address and system name
    2. How get client (user) machine name (computer name) with jQuery or JavaScript or server-side codes.

    希望这能更清楚地说明这个问题。

    【讨论】:

    • 这是真的@utility。你能建议任何替代解决方案吗?就像当用户点击页面时,我们向已经安装在客户端机器中的控制台应用程序发送一些参数,如果该应用程序没有运行,那么我们可以从网页运行该应用程序吗?后者控制台应用程序将获取客户端名称并使用 SignalR 我可以在网页中获取该机器名称?
    • 我在computername.azurewebsites.net/install/publish.htm 构建了一个演示,但我无法直接从浏览器运行应用程序。每次我必须下载并运行该应用程序!
    • 您可以将其作为附加问题发布..但该链接看起来不像在线应用程序,而是一些软件
    • 那是 Clickonce 控制台应用程序!我为上述目的制作的。
    • 但这不是您正在寻找的合适方式..因为必须检索未安装的详细信息
    【解决方案2】:

    你可以试试

    Request.ServerVariables["LOGON_USER"];
    

    表格

    System.Web
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-27
    • 1970-01-01
    • 2014-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多