c# - 使用网络引用

标签 c# asp.net wcf web-services soap

在我的项目中学习网络引用已经几天了,我现在遇到了一个奇怪的问题。

我使用了一个简单的控制台应用程序:

namespace Webservices09004961
{
    class Program
    {
        static void Main(string[] args)
        {

            {
                Convert.ConvertTemperatureSoapClient client =
                new Convert.ConvertTemperatureSoapClient();
                while (true)
                {
                    Console.Write("Enter temperature in Celsius: ");
                    double tempC = double.Parse(Console.ReadLine());
                    double tempF = client.ConvertTemp(tempC, Convert.TemperatureUnit.degreeCelsius, Convert.TemperatureUnit.degreeFahrenheit);
                    Console.WriteLine("That is " + tempF + " degrees Farenheit");
                }
            }
        }
    }
}

我已在与此链接相关的服务引用“转换”中添加: http://www.webservicex.net/ConvertTemperature.asmx?WSDL

但是我得到这个错误:

An endpoint configuration section for contract 'Convert.ConvertTemperatureSoap' could not be loaded because more than one endpoint configuration for that contract was found. Please indicate the preferred endpoint configuration section by name.

这是因为您一次只能分配一个服务引用吗?我问的原因是因为我在同一个项目构建中的本地服务引用仍然可以正常工作?然而这个没有? (当我第一次创建它时就这样做了)

或者这是一个单独的问题?

还有 SOAP 的限制是什么?

最佳答案

当您尝试删除 svc 引用并再次添加时,此错误很常见。检查您的 app/web.config 文件,您应该有重复的 Convert.ConvertTemperatureSoap 条目。删除其中一个,它将正常工作。

关于c# - 使用网络引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9605950/

相关文章:

c# - 如何自动将 .NET 函数调用映射到属性?

c# - 从 RowDataBound 事件的 gridview 的单元格中获取值

c# - 在 WCF 中找不到引用契约(Contract)的默认端点元素

c# - 如何将 ActionScript 中的 String 、 ByteArray 编码为 VB 或 C#

c# - ASP.NET/MVC 3 状态

c# - 使用 C# 读取 azure ServiceConfiguration 文件的证书部分

c# - 在 Visual Studio 外部为 ASP.NET 网站重新安装 NuGet 包

c# - 如何在 C# 中的字节数组中查找字节模式?

c# - Appharbor 部署 "Contains no tests"

c# - WCF,无法找到 ServiceHost 指令中的服务属性值