2011-04-28 78 views
1

我有一個asp.net web服務,我想從另一個asp.net頁面使用同一臺服務器。在本地應用程序中使用web服務

原因是我使用Ajax來驗證用戶名是否被採用以及是否提交。而不是在本地函數重寫代碼,我想服務器能夠調用web服務,但是當我在服務引用註冊它,我得到一些有趣的事情像

GetUsernameAvailableRequest 
GetUsernameAvailableRequestBody 

等,而不僅僅是一個功能打電話....有沒有人知道我在做什麼錯在這裏?是否有可能在我的項目中調用web服務像本地函數一樣,還是需要使用相同的功能創建一個新函數?

回答

3

是的,這是完全可能的(甚至建議架構)。

請確保您已將Web服務添加爲VS中的WebService,然後它將自動從WSDL工作創建代理類型。

您將需要實例化您的webservice,然後您可以使用方法中公開的方法。

E.g.

using (WebServiceType service = new WebServiceType()){ 
    string result = service.Method(); 
} 

假設你有一個名爲Method()方法和您的服務類型是WebServiceType

0

我不能告訴你爲什麼會發生這種情況,但是這確實發生在我正在進行的一個項目上。你可以看到我問的related question

僅供參考;我相信你有一個GetUsernameAvailableResponse對象,你可以在對象中找到你想要的響應。

0

看在對象瀏覽器中看到所有生成的類。其中之一將是像 myservice SoapClient。這是你必須創建一個實例的對象。它將具有調用該服務的方法。