2009-11-13 40 views
0

我试图在ASP.NET中创建一个web服务并获取智能设备应用程序中的数据。.NET和webservices:如何?

我有标准的HelloWorld webservice,我想在我的应用程序中获取数据,但是当我尝试向我的项目添加Web引用时,Visual Studio找不到任何运行的web服务。如果我在WebService项目中启动WebService并将该URL复制/粘贴到Application项目中的“添加WebReference”,Visual Studio将查找Webservice,并且可以使用InttilSence查找HelloWorld方法(WebServiceClass.HelloWorld()) WebService。但是,当我然后运行应用程序项目编译器给出一个错误,说它无法连接到WebService。

我该怎么做?我如何访问应用程序项目中的Web服务?我读过的关于该主题的每篇教程或书籍都没有说明我应该如何运行web服务。在我的世界中,web服务项目应该在我可以从另一个项目访问它之前运行,还是我错了?

+0

什么是确切的错误?如果你可以将它添加到你的项目中,这意味着可以访问web服务。 – monksy 2009-11-13 22:44:21

+0

错误是: 无法连接到远程服务器 – Poku 2009-11-13 22:59:55

+0

首先检查:您能否从仿真器或设备到达服务器(服务)?这可能是一个防火墙问题。 – 2009-11-13 23:08:59

回答

0

虽然这是一项低技术,你难道不能从智能设备应用程序创建一个web请求直接打到web服务?这将是我的建议。

一个例子就是使用“WebRequest”类。

2

首先,您应该将Web服务发布到某个服务器(甚至是您自己的本地IIS),而不是使用Visual Studio Web服务器。

然后在您的应用程序中,在添加引用时指向正确的URL。

0

听起来像当你试图从你的应用程序访问Web服务时,服务没有运行(可能是因为你只在Cassini服务器上运行它)。

您能够生成Web引用的事实意味着,在某些时候,服务正在运行,并且能够通过检查服务来生成助手类。

我会像David Stratton所建议的那样将它发布到某个可以在开发智能设备应用程序(如本地IIS)时运行的地方。

您也可以利用这个机会来包装一些错误处理服务呼叫 - 也许赶上抛出的特定异常(System.Net.WebException?)