1、错误信息:
添加服务失败。服务元数据可能无法访问。请确保服务正在运行并且正在公开元数据。
原因:如果修改了接口和类的名称,那么就需要去命名空间对应的svc文件中,手动修改相应的这个值。原来的Service1不可用。
同样:如果你在这里没改,那么发布之后,你需要到发布的svc文件中也修改这个名称。否则客户端还是无法访问。
2、发布之前,一定要在本地编译运行没问题再发布。
3、IIS无法启动
端口被占用,将端口,修改为其他大于10000的号。
点击启动之后:进入客户端输入:
http://192.168.1.119:15000/WcfTest.svc
这个ip和端口号,应该是你配置的服务器的。
在客户端上输入之后,显示如此,说明服务配置成功。
4、.Net FrameWork控制台应用
按照提示的代码去新建一个.Net FrameWork控制台应用。WCF就用.Net FrameWork控制台应用。不要建.NetCore。
右键【引用】【添加服务引用】
在地址中,参照第一个地址。右键【复制链接】。
参照代码在程序中实例化,然后开始调用服务端方法。
引用,执行程序。
Console.WriteLine("尝试发送。");
WcfTestClient proxy = new WcfTestClient(); // 这个类参照你打开的网页中代码。
string strMsg = proxy.GetData(888);
string sendSomethingRes = proxy.SendData(9000, "九千岁");
Console.WriteLine("发送成功,接受返回值。");
Console.WriteLine(strMsg);
Console.WriteLine(sendSomethingRes);
Console.ReadKey();
5、Standard2.0而不是2.1
如果是将.NetCore的类库搬迁过来,那么最好新建Standard的库,最好
而且:目标框架选择2.0版本。2021年12月28日,2.1版本实测部分库用不了。
6、引用类库之后:web.config出错。
新引用类库,然后编译:直接报错。
修改ServiceDebug为true
解决方案:修改时,不要将程序处于调试状态。否则报web.config错误。
7、调用服务失败。
解决方案: 服务端更新服务,但是客户端,并未重新加载服务。【更新服务引用】