2012-06-11 102 views
0

調用WCF服務,我已經在VS創建使用WCF服務應用程序模板WCF web服務2008 在同一個解決方案,我創建了一個Web應用程序項目並添加Web引用到我給服務服務網址。無法從本地機器

現在,當我從我的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的,但不承認的操作系統。我猜這是放在了一些地方,我也必須給路徑,這是問題嗎?我在哪裏可以找到這個?

+0

您的WCF服務是否啓動? – RQDQ

+0

@RQDQ是的,我已經找到了問題。我添加了一個Web引用到服務而不是服務引用,它的工作。你能告訴我兩者之間的差異嗎? – Charu

+1

Web引用是舊的Web服務棧(我相信只有SOAP)。服務引用是較新的WCF堆棧。但是,如果你能設定的Web引用,它應該工作得很好... – RQDQ

回答

1

But svcutil.exe is not recognised by the OS. I guess it is placed somehwere and i have to give the path also, is this the problem?Where can i find this?

SvcUtil.exe是幫助創建wcf服務代理的實用程序。您可以通過打開Visual Studio命令提示符而不是Windows命令提示符來輕鬆訪問該實用程序。

如果您已經安裝在C VS驅動,將設在這裏。

C:\Program Files\ Microsoft Visual Studio 10.0\VC 

有關添加Web引用,並添加服務引用的區別這thread會談。在你的情況下,我會建議使用服務引用而不是Web引用。

+0

當我嘗試運行它時出現錯誤。錯誤:無法創建輸出文件:C:\ Program Files \ Microsoft Visual Studio 9.0 \ V C \ Service1.cs 訪問路徑'C:\ Program Files \ Microsoft Visual Studio 9.0 \ VC \ Service1 .cs'被拒絕。我沒有管理員權限,這是問題嗎?我可以更改它生成o/p的路徑嗎? – Charu

+1

一旦你打開VS命令提示符,只需移動到其他驅動器,如D:或E:然後調用svcutil.exe。防爆。 d:\> SvcUtil工具。exe文件的http://本地主機:1787年/ Service1.svc WSDL – VJAI

+0

我不能做CD d :,不知道爲什麼,我會嘗試同我家的機器,看看它是否工作。 – Charu