Visual Studio:在我的解决方案中的其他项目中添加服务的服务引用?

时间:2010-10-09 18:40:01

标签: visual-studio silverlight wcf rest azure

我有一个Silverlight应用程序,我想访问Azure存储。我的解决方案中有两个项目:SL项目和ASP Web角色。

网络角色有一项服务。当我启动项目时,我去了服务,它工作正常。 (我可以下载数据。)

我不完全确定我可以通过“添加服务参考”做什么,但我怀疑这可能是我应该在这里做的,以充分利用WCF的功能。我打开对话框,点击“发现”查找我的解决方案中的服务。 Visual Studio找到我的服务,但是当我单击“Go”时它失败并出现404错误。鉴于我的ASP本地主机服务器暂时不起作用,这并不奇怪。

似乎我应该能够在devserver运行时添加服务引用,但是Visual Studio的菜单项灰显了。

我应该在这做什么?我对服务引用的用途完全感到困惑吗?我应该只使用WebClient,对URI进行硬编码,并将XML反序列化为对象吗?

2 个答案:

答案 0 :(得分:2)

詹姆斯的回答将起作用。但是,如果在同一解决方案中同时具有服务和消费者项目,则更容易的选择是使用“添加服务引用”对话框中“开始”按钮右侧的“发现”按钮。如果您点击小箭头,您会看到它显示“解决方案中的服务”。这将使VS搜索您已实现的任何有效服务的解决方案,因此您不需要在此时运行该服务。

另一个选择是在IIS下本地运行服务。

答案 1 :(得分:0)

我认为使用WebClient可能有点过分。我不会仅仅为了解决Visual Studio可用性问题而重新实现(即使它很诱人)。

尝试单独打开项目。我的意思是打开两个Visual Studio,一个使用Web服务,另一个使用Silverlight应用程序。运行Web服务(这样您就可以在浏览器中工作),然后直接创建服务引用到另一个Visual Studio中以调试模式运行的服务的URL。

创建服务引用并构建所有代理后,除非更改服务的接口,否则无需再次执行此操作。