使用VS2005加入Web參考,建立統一的Method來建立Web參考物件,居然出現「型別'
今天同事問到關於WebService參考的問題,原因是因為他使用VS2005加入Web參考,但卻無法判定在程式中new WebService物件起來的URL到底對不對!
所以就請他在建立Web參考物件之後直接指定它的URL。
於是將建立Web參考物件並指定URL的程式,包在一個Function之中,
//統一建立Web Service物件的function
public WebRefTest.MyWS GetMyWS()
{
WebRefTest.MyWS myWS = new WebRefTest.MyWS();
//從 AppSettings 讀取 url 的 Path
myWS.Url = System.Configuration.ConfigurationManager.AppSettings["myWS"];
return myWS;
}
將原本直接建立Web Service物件,改呼叫統一的function,如下,
WebRefTest.MyWS myWS = new WebRefTest.MyWS();
改成
WebRefTest.MyWS myWS = GetMyWS();
結果卻發生了「型別 'WebRefTest.MyWS' 的值無法轉換成 'WebRefTest.MyWS'。」的錯誤。
後來在物件瀏覽視窗中,發現aspx.cs中的物件,居然跟 function 使用的物件不同。
因為是在VM中,有多人開啟相同的專案。所以先請其他人關閉那個專案。
然後在方案的Web參考上按右鍵「更新Web參考」後,就不會有型別不同的問題~!
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^