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"的默认终结点元素。这可能是因为找不到应用程序的配置文件,或者因为在客户端元素中找不到与此约定匹配的端点元素。
如果您正在参考如何在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"
- 远程地址对应于"地址"
-
创建一个新的C#控制台应用程序项目。在这里,我已经将项目名称指定为"MyFirstWebServiceConsumerApp"。单击"确定"按钮继续操作。
-
转到解决方案资源管理器,右键单击控制台应用程序项目名称。在这种情况下,右键单击"MyFirstWebServiceConsumerApp",然后从下拉菜单中选择"添加服务引用…"。
-
点击"前进"按钮。
-
单击"添加Web引用.."按钮。
-
将出现一个"添加Web引用"窗口来使用c#.net中的Web服务。在此处输入web服务的URL。现在,单击按钮(请参阅下图)以检索此窗口中的所有web服务方法。
-
输入Web服务URL,然后单击->按钮检查Web服务URL是否有效。如果URL有效,它将向您显示可用的Web方法,状态将显示为"找到1个服务:"
-
输入web服务引用名称。我使用"MyFirstWebServiceReference"作为web服务引用名称,如上图所示。现在,点击"添加参考"按钮。。
-
现在检查解决方案资源管理器。"MyFirstWebServiceReference"必须添加到web引用文件夹下。
-
下一步是将此web服务的引用添加到我们的c#代码中,这样我们就可以在代码文件中使用它。在代码文件中添加以下行,在c#.net中使用web服务–使用MyFirstWebServiceConsumerApp.MyFirstWebServiceReference;
-
添加以下代码以调用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();
}
}
}
- 现在保存文件并执行应用程序。按键盘上的F5按钮执行代码。结果应显示为以下屏幕截图-您的第一个web服务消费者控制台应用程序已准备就绪