visual studio 2010 web service

本文关键字:service web 2010 studio visual | 更新日期: 2023-09-27 17:58:26

找不到引用/使用web服务的新方法。

有添加WEB REFERENCE(.net 2.0)的旧方法,但我想使用新的服务引用。

以下教程:http://sarangasl.blogspot.com/2010/09/create-simple-web-service-in-visual.html或:http://www.youtube.com/watch?v=qOqEKpYbTzw我可以用老办法做。并像他们说的那样调用web引用是有效的,但如何使用服务引用来实现。

我可以自己做服务参考,但不知道如何使用它。

有人可以帮忙找教程吗?或者知道使用什么代码而不是:

(代码:.net 2.0-web参考)

service1.Service1 s1 = new service1.Service1();
String result s1.HelloWorld();
Trace.WriteLine(result);

(代码:.net 4.0-服务参考)

这是我试过的

Service1.Service1SoapClient s1 = new Service1.Service1SoapClient();
String result = s1.HelloWorld();
Trace.WriteLine(result);

但它给出了一个错误:

在ServiceModel客户端配置节中找不到引用约定"Service1.Service1Soap"的默认终结点元素。这可能是因为找不到应用程序的配置文件,或者因为在客户端元素中找不到与此约定匹配的端点元素。

visual studio 2010 web service

如果您正在参考如何在vs2010中添加旧的asmx样式引用右键单击引用并选择"添加服务引用"然后单击"高级",然后单击"添加Web参考"

对于wcf服务,只需右键单击并说"添加参考"

要使用它,请输入类的名称。由于我不知道你的命名空间,你可能不得不在顶部包含一个导入。但基本上——ServiceReference1.WhateverClient cleint=新的ServiceReference1.WhateverClient();

当您在代码中执行ServiceReference1时,您应该看到生成的类名。您只需创建一个实例并调用它。

类调用中缺少的参数位于Web.Config 中

搜索<client>部分:

<client>
  <endpoint address="http://ioe_test:8080/crypto.asmx" binding="basicHttpBinding"
    bindingConfiguration="cryptoSoap" contract="wscol_crypto.cryptoSoap"
    name="cryptoSoap" />
</client>

并且,缺少的参数是:

  • endpointConfigurationName对应于"name"
  • 远程地址对应于"地址"

因此,在我的例子中应该是:

ws_cryp.cryptoSoapClient cryp = new ws_cryp.cryptoSoapClient("cryptoSoap", "http://ioe_test:8080/crypto.asmx");

这就足够了。

打开app.config,查找在其中生成的端点配置元素的名称。然后对new ServiceClient()调用使用重载来指定端点。

问题(在其他地方找到)是我必须将配置移动到启动调用的项目。不知怎的奇怪(现在似乎不合适),但现在似乎奏效了。

这是我的Web.Config 中的客户端部分示例

<client>
  <endpoint address="http://ioe_test:8080/crypto.asmx" binding="basicHttpBinding"
    bindingConfiguration="cryptoSoap" contract="ws_cryp.cryptoSoap"
    name="cryptoSoap" />
</client>

并且,缺少的参数是:

  • endpointConfigurationName对应于"name"
  • 远程地址对应于"地址"
  1. 创建一个新的C#控制台应用程序项目。在这里,我已经将项目名称指定为"MyFirstWebServiceConsumerApp"。单击"确定"按钮继续操作。

  2. 转到解决方案资源管理器,右键单击控制台应用程序项目名称。在这种情况下,右键单击"MyFirstWebServiceConsumerApp",然后从下拉菜单中选择"添加服务引用…"。

  3. 点击"前进"按钮。

  4. 单击"添加Web引用.."按钮。

  5. 将出现一个"添加Web引用"窗口来使用c#.net中的Web服务。在此处输入web服务的URL。现在,单击按钮(请参阅下图)以检索此窗口中的所有web服务方法。

  6. 输入Web服务URL,然后单击->按钮检查Web服务URL是否有效。如果URL有效,它将向您显示可用的Web方法,状态将显示为"找到1个服务:"

  7. 输入web服务引用名称。我使用"MyFirstWebServiceReference"作为web服务引用名称,如上图所示。现在,点击"添加参考"按钮。。

  8. 现在检查解决方案资源管理器。"MyFirstWebServiceReference"必须添加到web引用文件夹下。

  9. 下一步是将此web服务的引用添加到我们的c#代码中,这样我们就可以在代码文件中使用它。在代码文件中添加以下行,在c#.net中使用web服务–使用MyFirstWebServiceConsumerApp.MyFirstWebServiceReference;

  10. 添加以下代码以调用web方法。

因此,最终代码将显示为:

using System;
using System.Collections.Generic;enter code here
using System.Linq;
using System.Text;
using MyFirstWebServiceConsumerApp.MyFirstWebServiceReference;
namespace MyFirstWebServiceConsumerApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Service1 webService = new Service1();
            Console.WriteLine(webService.MyFirstWebMethod("Dhiraj”, “Kumar”));
            Console.ReadLine();
        }
    }
}
  1. 现在保存文件并执行应用程序。按键盘上的F5按钮执行代码。结果应显示为以下屏幕截图-您的第一个web服务消费者控制台应用程序已准备就绪