.net core 对webService的支持不是很友好
就是在项目引用的时候引用会失败
但是使用.net framework却可以完美引用
那么碰到这个问题该如何解决呢?
其实也没网上写的那么难 还用到了微软的什么工具生成还是修改什么文件的
请主动过滤这些脑残文章!!
步骤:
1.创建一个.netframe work项目
在项目下右键 添加-》服务引用
这个WebService地址用来测试
http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx(根据IP地址获取国家城市名字的)
直接点确定就好了 这个时候他会为我们生成一个类
但是这里不是那个类 我们 还是右键这个项目
-》在文件资源管理器打开该项目
里面会有个Reference.cs的文件 拷贝它 (可以随意重命名)
.net framework 这边就可以不用了
2.复制Reference.cs文件到.netcore 项目下
我想你应该已经准备好了一个.netcore 项目
当然现在会报错 因为缺少依赖
3.nuget System.Service.Model.http
这样Reference.cs就不会报错了
4.调用
using LogLog.ServiceReference1;
using ShJxWebServiceAssist.UpLoadJson;
using ShJxWebServiceAssist.UserRelation;
using System;
using System.ServiceModel;
namespace WebServiceAssist
{
class Program
{
//成功
static void Main(string[] args)
{
BasicHttpBinding binding2 = new BasicHttpBinding();
EndpointAddress address2 = new EndpointAddress("http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx");
IpAddressSearchWebServiceSoapClient client2 = new IpAddressSearchWebServiceSoapClient(binding2, address2);
string[] a =client2.getCountryCityByIp("156.176.12.34");
foreach (var item in a)
{
Console.WriteLine(item);
}
Console.ReadKey();
}
}
}
代码献上
5.结果
调用成功
自己封装一下 就可以使用了哦



