我对WCF是全新的,所以如果你发现我在这里做的事情完全错误,请指出。我创建了一个WCF服务项目(我的服务类是从ServiceBase类派生的),并将端点地址绑定设置为basicHttpBinding。现在我需要创建一个可以从这个服务调用一些API的客户端应用程序。我的问题是,在我的客户端应用程序中,如何将服务引用添加到该服务。我是否需要首先在IIS下发布此服务(这意味着我必须在计算机上也可以使用IIS),或者还有其他方式来添加服务引用。如何在客户端项目中添加服务引用?
回答
你需要的东西是运行的服务,与元数据被公布。这可以是IIS,但也可以是任何other valid hosting option。
我经常编写一个简单的控制台应用程序来自我托管WCF服务,正是出于这个原因。它使得调试非常容易,并且在开发的早期阶段更新服务引用,并且可以在同时处理客户端和服务器时显着简化工作。
您不必在IIS下发布它,使用WCF您可以在控制台应用程序或Windows窗体应用程序或Windows服务或IIS下托管您的服务。
在您的客户端应用程序中,您只需右键单击并添加服务参考。
当我右键单击并添加服务引用时,它会弹出此对话框,要求输入“地址”。我如何提供该地址?我需要先运行服务吗? –
@Silverlight学生:是的。该服务需要运行,并且需要发布元数据端点。你会输入该地址。查看该服务的app.config/etc地址。 –
@Silverlight学生:正如里德上面所说的,您需要先托管该服务,然后尝试将其托管在控制台应用程序中。好简单。 – Jethro
通常情况下,您将在IIS的最终位置托管您的WCF服务(因为它也可以为您确定URL),但是,您也可以直接从Visual Studio中运行它,然后在您的客户端Visual Studio中,您可以右键单击“参考”并选择“添加服务参考”,并将其指向您的WCF服务,无论它在哪里运行。
然后,应用程序将为其构建的WCF客户端从WSDL创建。
请注意,它也会在您的app.config中为该服务设置该URL,因此如果您没有将该服务托管在其最终生产URL中,则必须在移动该客户端时更改该客户端的URL到生产。
所以要更直接地回答你的问题;是的,当您从客户端应用程序添加服务引用时,您的服务应该正在运行。
- 1. 当客户端从服务器调用Web服务时,如何在共享库中的服务器项目和客户端项目中使用jpa实体类?
- 2. 添加服务引用生成我的客户端不兼容
- 3. 简单的WCF REST客户端 - 添加服务引用错误?
- 4. 如何更新Eclipse Web服务客户端项目中的wsdl?
- 5. 如何在客户端/服务器上同步过期项目
- 6. 如何在客户端配置文件项目中引用system.design?
- 7. 服务器项目在测试客户端项目
- 8. 如何将服务引用添加到WCF客户端需要客户端身份验证证书
- 9. 服务引用客户端错误?
- 10. Silverlight RIA Services - 从客户端的服务器端项目引用命名空间
- 11. 客户端winform和服务器的Web服务通信项目
- 12. WS客户端和服务器在一个Java项目中
- 13. 如何添加Web服务客户端GWT
- 14. 如何从服务端客户端
- 15. 如何在开源客户端服务器项目中使修改的客户端失效?
- 16. 无法为net.tcp添加服务客户端WCF服务
- 17. 在客户端使用RIA服务添加自定义属性
- 18. 如何在JavaScript中编写Web服务客户端以在jsp Web项目中调用Web服务?
- 19. Visual Studio在添加服务引用时不生成客户端代理代码
- 20. 如何在JAX-WS客户端中重用服务器端类?
- 21. TCP服务器和客户端:服务器响应客户端时引发IOException
- 22. 客户端/服务器在单独的项目或在一个
- 23. 如何添加在meteor.js描述图像采集(客户端和服务器端)
- 24. 在同一个项目中添加对服务的引用
- 25. 如何在VS2010中为主机和客户端项目维护WCF服务库?
- 26. 如何在Eclipse中运行和调试客户端 - 服务器项目?
- 27. 如何在playN项目中编写客户端和服务器代码?
- 28. WCF测试客户端只在同一个项目中加载服务
- 29. 如何在客户端和服务器端中止对web服务的调用?
- 30. 在客户端生成wcf端点的服务引用
通常您可以运行调试的wcf项目,它将启动cassini服务器,然后您可以生成服务引用。或者你可以使用iis express。或者你可以使用共享的DLL并使用ChannelFactory而不是生成服务引用。 –