似乎ASP.NET WebMethods不是「web服務」,不足以與New-WebServiceProxy
一起使用。或者,也許是,我還沒有想出如何初始化它?如何使用PowerShell調用ASP.NET WebMethod?
所以不是,我試圖做手工,像這樣:
$wc = new-object System.Net.WebClient
$wc.Credentials = [System.Net.CredentialCache]::DefaultCredentials
$url = "http://www.domenicdenicola.com/AboutMe/SleepLog/default.aspx/GetSpans"
$postData = "{`"starting`":`"\/Date(1254121200000)\/`",`"ending`":`"\/Date(1270018800000)\/`"}"
$result = $wc.UploadString($url, $postData)
但是這給了我「遠程服務器返回錯誤:(500)內部服務器錯誤」所以我必須做一些有點不對的事情。
有關如何從PowerShell中調用我的PageMethod
並沒有出現錯誤的任何想法?
我沒有ASMX,因爲我用'[WebMethod]'在我的代碼後面簡單地裝飾了一個方法。也就是說,有SleepLog/Default.aspx,然後在SleepLog/Default.aspx.cs中有一個'WebMethod'。 當我嘗試使用New-WebServiceProxy時,我可以預見到:「HTML文檔不包含Web服務發現信息。」 – Domenic 2010-03-31 17:19:29
@Domenic,你爲什麼不創建適當的網絡服務。這與從System.Web.Services.WebService繼承一樣簡單。然後'New-WebServiceProxy'應該像Keith在他應該被接受的答案中所建議的那樣工作。 – stej 2010-03-31 18:27:02
因爲我沒有真正提供服務,所以網絡服務語義在這裏看起來不合適。我只是想找到一種方法來獲得特定POST調用的結果,這恰好在代碼隱藏頁面中實現爲'WebMethod'。對於我的問題,接受的答案是「這是怎麼做到的」或「這不可能,這就是原因。」 – Domenic 2010-04-01 02:50:41