【问题标题】:How to open asp.net page on specific IP?如何在特定 IP 上打开 asp.net 页面?
【发布时间】:2015-03-01 09:32:30
【问题描述】:

我在服务器上有一个工具,可以不断从某些数据源读取数据。有时我想在特定 IP 的浏览器上打开一个 asp.net 页面。

换句话说:我有一台服务器(在 LAN 网络上)连接到多台计算机。

是否可以/适用于在特定 IP 上打开 asp.net 页面?

我已经知道 IP。我正在使用此代码打开页面

System.Diagnostics.Process.Start(popupURL + "?CallerID=" + callerID);

它在服务器上工作,但我如何告诉服务器在特定 IP 上打开页面?

【问题讨论】:

  • 什么意思?你试过什么?
  • @dotctor 我不知道我应该尝试什么。我的意思是让服务器在与其连接的计算机上打开浏览器。找我好吗?
  • @dotctor 你能告诉我我应该搜索什么来解决这个问题吗?我一直在寻找,但没有找到
  • 如果你想让一台计算机从另一台计算机上做某事,你应该编写一个程序来接收命令并为你工作。在客户端上运行此程序,连接到服务器,从服务器向客户端发送命令,客户端将完成工作。这并不容易。你到底想做什么?
  • @dotctor 我有一个服务器,服务器上有一个工具可以不断观察/分析来自许多数据源的数据,有时分析的结果并不好。因此,我想通知代理(谁是在使用 LAN 网络本地连接到服务器的计算机上工作的人)。因此,我想在 他的 计算机上打开一个页面。你明白我的意思吗?如果这是不可能的,我将使该工具在每个代理的计算机上运行,​​并进行额外的检查:如果结果是 this 代理,则打开页面,否则,忽略它。找我好吗?

标签: c# asp.net .net


【解决方案1】:

我想在特定 IP 的浏览器上打开一个 asp.net 页面。

这对于任何 PC 都是不可能的,但如果 PC 由域控制器控制,那么您就可以,这很可能在商业环境中。您可以按照this answer 中的说明使用 WMI。我修改了代码以满足您的需求:

string theProcessToRun = "http://url_to_open";
string ipAddress = "0.0.0.0";

string remoteIdentifier = string.Format(@"\\{0}\root\cimv2:Win32_Process", ipAddress);
ManagementClass mc= new ManagementClass(remoteIdentifier);

mc.InvokeMethod("Create", new [] { theProcessToRun });

【讨论】:

  • 你的意思是我应该在服务器上部署我的页面并在服务器中使用你的代码吗?
  • 是的,你应该在运行时拥有适当的域管理权限,但除此之外,你已经准备好了。
  • value 或 remoteIdentifier 是什么?就我而言,应该是什么?我知道theProcessToRun 变量应该具有部署在服务器上并且我想在代理计算机中打开的页面的 URL。但是remoteIdentifier 变量是干什么用的?
  • @MarcoDinatsoli:只需填写 ipAddress 字段即可。没有什么可以改变的。 remoteIdentifier 是一些让 WMI 知道该做什么的代码。
  • 好的,我做到了,你知道我应该添加什么 DLL 才能包含 MannagementClass 吗?
猜你喜欢
  • 1970-01-01
  • 2023-02-05
  • 1970-01-01
  • 2020-10-11
  • 1970-01-01
  • 2012-02-23
  • 2020-11-17
  • 2023-03-19
  • 1970-01-01
相关资源
最近更新 更多