Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在没有外部IP地址的主机上访问Web服务?_C#_Asp.net_.net_Vb.net_Web Services - Fatal编程技术网

C# 如何在没有外部IP地址的主机上访问Web服务?

C# 如何在没有外部IP地址的主机上访问Web服务?,c#,asp.net,.net,vb.net,web-services,C#,Asp.net,.net,Vb.net,Web Services,比方说,我有一个网站托管在我们局域网中名为Serv1的服务器上 我想创建一些web服务,允许用户下载/上传数据到网站的后端SQL server 我不想在Serv1上托管web服务。我想把它们托管在Serv2上,Serv2位于我们的局域网中,但没有外部IP地址 这会起作用吗?还是我必须为额外的外部IP地址付费?这不是关于IP,而是关于URL 如果Serv2.yourdomain.com不可见,Serv2.yourdomain.com/service.asmx也不可见 另一方面,有很多方法可以让Se

比方说,我有一个网站托管在我们局域网中名为Serv1的服务器上

我想创建一些web服务,允许用户下载/上传数据到网站的后端SQL server

我不想在Serv1上托管web服务。我想把它们托管在Serv2上,Serv2位于我们的局域网中,但没有外部IP地址


这会起作用吗?还是我必须为额外的外部IP地址付费?

这不是关于IP,而是关于URL

如果
Serv2.yourdomain.com
不可见,
Serv2.yourdomain.com/service.asmx
也不可见

另一方面,有很多方法可以让
Serv1.yourdomain.com/service.asmx
从局域网上的其他地方获取数据

编辑

我看这还不清楚


由于两个子域可以使用相同的IP,一台服务器可以有多个IP,我认为OP强调IP而不是子域,这掩盖了他的实际需求。

如果你不想将服务放在serv1中,你必须让serv2可用。 web服务必须是可用的,除非这一切都在内部网中工作,并且所有服务器都可用

如果用户都是内部用户,那么外部IP地址就无关紧要了。那么,如果所有用户都在内部网络上,也就是说


如果您需要在网络之外提供此服务,我想我们需要更多的信息(至少我需要)。如果您有一个外部可访问的域,我想您可以在域路由上有一个URL,指向Serv2上的服务。

您可以将web服务器配置为将请求转发到Serv2>>您可以将web服务器配置为将未经测试的请求转发到Serv2,以便发表评论。在您的路由器端口中,将服务的端口(端点)转发到Serv2.FYI,如果您有任何选择,您应该使用WCF而不是ASMXWeb服务。嗯,不是真的
Serv2.yourdomain.com
是IP地址的别名。您可以绕过域名直接调用IP,如
http://xxx.xxx.xxx.xxx/service.asmx
,但您需要访问IP地址才能执行此操作。域名也是一样。>“我想你可以在通往Serv2服务的域路由上有一个URL。”我不是一个服务器人员,所以我不太确定。我知道的足以把事情搞糟!那么,serv2对serv1可见还不够吗?Serv2必须对全世界都可用?如果您只使用服务器端访问服务,则不需要对全世界都可用,但是如果您要使用客户端访问服务,则客户端必须能够访问服务。如果你正在使用互联网,serv2必须是可访问的。全世界都将通过Serv1访问该网站。Serv2对Serv1可见(它们位于同一网络中)。如何使用服务器端从Serv1访问Serv2中的服务?有什么例子,链接吗?我正在使用ASP.NET,谢谢!例如,在项目中添加wcf服务或web服务,这将使您能够访问这些服务。在服务器端抱歉。。。这里完全是新手。。。如果服务驻留在另一台服务器上,如何将其添加到项目中?如果服务托管在不同的服务器上,如何使用服务器端访问这些服务?