我在iis上创建并部署了一个wcf服务。我能够访问Intranet中的服务,我还应该做些什么来暴露我在互联网上的服务?通过互联网访问WCF服务
0
A
回答
1
有一些问题,你需要问自己:
- 如何以及在哪里做您计划托管服务(IIS自托管?)?
- 你打算使用哪种协议/绑定? basicHttp是最简单的,但也是最有限的 - 它不支持太多的安全性,没有可靠的会话等,但它与其他系统的互操作性是它的巨大优势
- 或者你想公开一个REST服务,你的用户只会返回XML或JSON?
- 你需要什么样的安全性?传输级?消息级?
- 你会认证你的用户吗?怎么样? Windows凭据?证书?用户名密码?一点也不?
- 你会在哪里(什么地址和端口)公开提供你的服务?
- 如果您使用基于SOAP的方法:潜在客户如何知道此服务?您是否希望在线提供元数据(WSDL,XSD)(地址为
xxxx?wsdl
)?您是否想将明确的元数据作为文件发送给您的客户?你会自己创建一个WCF客户端代理类,并使该程序集可供下载?
一旦你拥有所有的答案,一切都应该是明确的:-)
马克
0
我知道已经晚了,但是这可能帮助一些新的SO用户
如果你的服务是在IIS上运行没有任何问题,那么你需要通过以下步骤来访问此服务通过互联网
假设:
我的解决方案名称为SearchServiceLibrary
接口名称是ISEARCH
类名称是搜索和这个类实现ISEARCH接口
第1步: 如果您的PC在NAT后面,您需要转发PORT告诉你的路由器应该在哪里发送接收到的Web服务请求。
步骤2:要指定域名/在WSDL文件服务器的IP地址
更新或编辑继app标记。配置文件
<serviceMetadata httpGetEnabled="True" httpGetUrl="http://DomainName_OR_IPAddress:PORT/SearchServiceLibrary.Search.svc/basic"/>
步骤3:设置皂位置在的app.config文件
您需要在您的app.config文件添加一个终点,你可以描述性做到这一点或者通过使用选项编辑WCF CONFIGURATIONS
<service name="SearchServiceLibrary.Search">
<endpoint address="http://DomainName_OR_IPAddress:PORT/SearchServiceLibrary.Search.svc/basic" binding="basicHttpBinding"
contract="SearchServiceLibrary.ISearch">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
或使用选项EDIT WCF配置
这对我来说非常合适。
相关问题
- 1. 通过互联网可以访问WCF服务
- 2. 通过互联网访问WCF服务?所有
- 3. 通过互联网消费wcf服务
- 4. 问题调用WCF服务互联网
- 5. 无法通过互联网访问本地托管的wcf服务
- 6. 通过互联网访问Apache HTTP服务器
- 7. 互联网访问服务器2012 R2
- 8. 从互联网访问Apache服务器
- 9. 通过互联网访问树莓派
- 10. 通过浏览器访问互联网
- 11. 通过互联网TFS 2015访问
- 12. 使用wshttpbinding通过互联网使用WCF服务?
- 13. wcf服务wsHttp绑定通过互联网
- 14. WCF启动的net.tcp服务通过互联网
- 15. 如何通过互联网使用WCF双重服务?
- 16. wcf net.p2p:// - 通过互联网工作吗?
- 17. 通过ASP.NET访问WCF服务
- 18. 通过Php访问WCF Soap服务
- 19. 通过URL访问WCF服务
- 20. 通过Windows Phone访问WCF服务
- 21. 通过流WCF服务文件访问
- 22. Microsoft服务互联互通问题
- 23. Raspberry Pi通过互联网和公共服务器SSH访问WWW
- 24. RESTful Web服务,如何通过互联网从其他计算机访问
- 25. 无法通过代理服务器从Android模拟器访问互联网
- 26. 通过互联网访问数据的最佳途径。 ADO.Net数据服务?
- 27. 如何“部署”服务器,以便通过互联网访问它?
- 28. 通过网络访问网络服务
- 29. 通过互联网
感谢marc为您提供指导。 – 2009-08-11 11:51:28