【发布时间】:2012-06-14 02:10:00
【问题描述】:
我在 VS 2008 中使用 WCF 服务应用程序模板创建了一个 WCF 网络服务。 在同一个解决方案中,我创建了一个 Web 应用程序项目,并将 Web 引用添加到我提供服务 url 的服务中。
现在,当我从我的 Web 应用程序项目中调用服务方法时,我得到了超时,我无法从调用服务方法中获取 O/P。这是我用来从服务调用方法的代码:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using WebApplicationClient.WCFService;
namespace WebApplicationClient
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
Service1 svc1 = new Service1();
String ex = svc1.GetData(1,true);
}
}
}
编辑: 我已经弄清楚了问题所在。我向服务添加了 Web 引用,而不是服务引用,它起作用了。谁能告诉我两者的区别?
另外,当我运行 WCF 服务时,我会收到以下消息: 从命令窗口运行此命令:
svcutil.exe http://localhost:1787/Service1.svc?wsdl
但操作系统无法识别 svcutil.exe。我猜它被放置在某个地方,我也必须给出路径,这是问题吗?我在哪里可以找到这个?
【问题讨论】:
-
你的 WCF 服务启动了吗?
-
@RQDQ 是的,我已经找到了问题所在。我向服务添加了一个 Web 引用而不是服务引用,它起作用了。你能告诉我两者的区别吗?
-
Web 参考是较旧的 Web 服务堆栈(我相信只有 SOAP)。服务引用是较新的 WCF 堆栈。但是,如果您能够设置网络参考,它应该可以正常工作...
-
查看here 以获得一些解释。
-
@RQDQ 不,它不适用于 WEB Reference。此外,我还编辑了一些疑问。
标签: wcf