【问题标题】:EndpointNotFoundException when calling a service调用服务时出现 EndpointNotFoundException
【发布时间】:2012-11-21 16:54:30
【问题描述】:

我成功地将服务引用添加到我的 ASP.NET 项目,但是当我尝试从服务客户端调用方法时,我得到了 EndpointNotFoundException

BenchmarkManagementServiceClient client = new BenchmarkManagementServiceClient();
try {
    int id = Convert.ToInt32(userId);
    if (client.VerifyUser(id)) { //Here is the exception thrown
        FormsAuthentication.SetAuthCookie(userId, false);
    }
} catch (FormatException) { }
client.Close();

这很好奇,因为我可以通过浏览器访问服务的地址,并且几乎相同的代码在另一个项目(Windows 窗体)中工作。

感谢您的帮助。

编辑:

内部异常的消息是The remote name could not be resolved

我尝试请求的服务正在 Azure-Cloud 中运行。
ASP.NET 项目正在我的计算机上本地运行。
我的另一个项目(一切正常)也在我的计算机上本地运行。

也许很高兴知道,我必须在没有包Newtonsoft.Json 的情况下创建服务引用。否则在服务引用的代码生成过程中出现警告。

【问题讨论】:

  • 可能是防火墙/防病毒问题。
  • 我不这么认为,因为它适用于我的其他项目。我的 ASP.NET 项目在同一台机器上进行本地测试
  • stackoverflow.com/a/2288243/1262700 可能会对您有所帮助。
  • 没有。没有帮助我。当相同的服务在另一个项目中工作时,为什么我需要绕过代理?我认为它必须是特定于 ASP.NET 的。
  • 您应该在问题中更清楚地说明这一点。 Azure 中运行的是什么?什么不是?您是在本地运行所有内容(在 IIS 中/在模拟器中),还是在部署在 Windows Azure 中时测试某些部分?

标签: c# asp.net azure


【解决方案1】:

我使用了代理并且遇到了完全相同的问题。

将此部分添加到我的配置中为我修复了代理身份验证错误。

<system.net>
    <defaultProxy useDefaultCredentials="true" />
</system.net>

【讨论】:

  • 请考虑将 cmets 放入 cmets 框中,而不是答案
猜你喜欢
  • 2012-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-11
  • 2011-07-07
相关资源
最近更新 更多