在 asp.net 中,客户端连接到生产服务器时 Web 服务端点不正确
Posted
技术标签:
【中文标题】在 asp.net 中,客户端连接到生产服务器时 Web 服务端点不正确【英文标题】:In asp.net, Web Service endpoint is incorrect when client connects to production server 【发布时间】:2012-09-10 15:32:41 【问题描述】:我已经在网上搜索了将近两天,一定遗漏了一些东西(可能是基本的)。
在测试(本地)Web 服务器上,我设置了一个简单的服务,并使用客户端,我发现了该服务并毫无问题地运行它。
使用相同的客户端,我发现相同的服务,但在生产服务器上使用https://MyNewStuff.com/WebServices/MyService.asmx(服务的真实互联网地址)没有问题,但是当我尝试运行它时它失败并出现 EndPointNotFound 异常。经调查发现客户端的app.config不正确如下;
<endpoint address="https://ProductionWeb.Ourdomain.com/WebServices/MyService.asmx"
binding="basicHttpBinding" bindingConfiguration="MyServiceSoap"
contract="MOX24.MyServiceSoap" name="MyServiceSoap" />
即,未正确设置,因为它反映了https://ProductionWeb.Ourdomain.com ...而不是https://MyNewStuff.com/WebServices,表明服务(发现)正在向客户端发送错误的信息(它正在发送服务器的名称和域,而不是“网络”名称)。
对此的任何帮助将不胜感激!
【问题讨论】:
【参考方案1】:如果您的客户端是 Web 应用程序,请将 https://MyNewStuff.com/WebServices/MyService.asmx 放入 Web.Release.config。
【讨论】:
这似乎正是问题所在。我该如何从服务器端做到这一点? 抱歉,阿德里安,我之前的回答为时过早且被误导了,所以我现在进行了编辑,假设您的客户端是一个 Web 应用程序。是吗? 我的客户端是一个表单应用程序,但它只是一个测试台。我们正在开发网络服务,客户可以使用他们自己的软件(无论是网络、应用程序、电话等)与之进行通信。他们正在发现服务描述等,但是当他们尝试运行它们时,会出现端点地址错误,因为在他们端指定的端点不是正确的“网络”地址(而是无法通过网络访问的内部地址)。然后他们必须手动更正端点地址并继续前进。但这不方便,应该是自动的。 所以您要使用 Windows 应用程序发布 .config 文件?如果只是为了测试,我建议将默认端点设置为生产端点,然后只覆盖本地测试环境中的设置 不,当然不是(你怎么能发布.config?)对不起,我必须承认我无法理解那部分。关于设置端点,正如我上面问的那样,如何设置?以上是关于在 asp.net 中,客户端连接到生产服务器时 Web 服务端点不正确的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ASP.NET Core 生产服务器上禁用“尝试重新连接到服务器”消息
使用新的 ASP.NET Core 应用程序连接到 SQL Server 时出现问题
在我的 ASP.Net 项目中无法从 VS2019 连接到 SQL Server 数据库