WCF服务发布在云服务器
简介
这里我所做的工作如下:
1.将WCF服务发布在云服务器上的IIS上;
2.用ASP.NET写好的网站发布在云服务器的IIS上,并引用WCF服务(这里要将localhost换为公网IP),这时候就能够在本地的计算机上访问网页;格式为 公网IP:发布的端口;
3.在本地用WPF客户端添加WCF服务引用(这里要将localhost换为公网IP);
这时候在任何计算机上访问网站都可以和本地WPF客户端进行通信。
下面是一些注意事项:
第一步WCF服务自身
WCF服务自身不需要改变什么,需要注意的是要设置安全模式参考另外一篇博客:
原文链接:https://blog.csdn.net/zxy13826134783/article/details/85267969
当你使用上一篇博客的方式二建立服务器时,服务端和客户端都在同一台电脑上运行,一点问题都没有,当你把服务端放在远程服务器上运行时,就会报未经处理的异常: System.ServiceModel.Security.SecurityNegotiationException: 调用 方未由服务进行身份验证。
解决的办法是把安全模式设为None
需要注意的是WCF和客户端都需要进行配置
第二步ASP.NET的网站
网站的发布和WCF服务类似,不过添加服务引用的过程中要将localhost换为公网IP,而不是像本地引用那样。
第三步云服务器入栈规则
这时候你的服务和网站都是无法访问的,需要在云服务器中配置规则,将发布的端口打开。
关于网站的默认页面的问题
如果你的网站的aspx文件名称不是默认的default.aspx,那么就需要手动添加你需要启动的页面的名称,在IIS的主页面->默认文档,注意大小写。