我在C#中有一個Web服務應用程序。當我在Visual Studio中運行調試時,它將在http://localhost:######
處啓動服務,並顯示Default.htm頁面,其中包含鏈接以測試可以對Web服務進行的不同調用。測試Web服務
有沒有辦法將這個本地運行的版本稱爲從另一臺計算機進行測試?我試着打電話測試頁面上的鏈接,但用運行它的機器的IP地址替換了localhost,但它表示它無法連接到服務器。
我在C#中有一個Web服務應用程序。當我在Visual Studio中運行調試時,它將在http://localhost:######
處啓動服務,並顯示Default.htm頁面,其中包含鏈接以測試可以對Web服務進行的不同調用。測試Web服務
有沒有辦法將這個本地運行的版本稱爲從另一臺計算機進行測試?我試着打電話測試頁面上的鏈接,但用運行它的機器的IP地址替換了localhost,但它表示它無法連接到服務器。
嵌入式Visual Studio Web服務器(Cassini)只能從本地計算機訪問。如果您想使用來自其他計算機的Web服務,則需要將該服務部署到IIS,然後您將能夠在http://xxx.xxx.xxx.xxx/MyWebService/MyWebService.asmx
(使用適當的IIS網站將IP地址和MyWebService替換爲xxx)路徑)。
然後要創建測試應用程序,您可以創建ASP.NET網站或WinForms/Console應用程序,並在Visual Studio中導入Web Service引用。這將自動爲您構建代理類,並使調用服務變得非常簡單。
這是通過Visual Studio中的Project - > Build Deployment Package完成的嗎?我之前沒有真正使用過IIS,所以我一直在努力在網上找到一些好的指南。 – John 2011-01-28 15:46:18
如果您尚未安裝IIS,請執行以下操作:http://learn.iis.net/page.aspx/28/installing-iis-7/on-windows-vista-and-windows-7/ 接下來,您可以進入Build - > Publish並選擇File System作爲位置,然後點擊「...」瀏覽到你想放置的位置。選擇本地IIS並創建一個新的Web應用程序(按鈕即可在該窗口的左上角)。將其設置爲您的目標併發布。 – rswafford 2011-01-28 16:01:55
如果您使用的是Visual Studio內置的Web服務器(Cassini),則只能在本地調用。如果你想遠程連接,你將不得不安裝IIS並配置你的項目來使用它。
是的,沒有。如果你使用內置的ASP.NET開發服務器(很可能,因爲你有:####),我不認爲可以在外部聯繫。
但是,您可以「部署」到本地IIS實例,然後可以從其他計算機中擊中它。 Web服務工作室是一個很好的Web服務測試工具。那裏也有一些非常好的開源工具。我自己喜歡SoapUI。
只需將您的服務包裝在控制檯應用程序中,以便可以訪問它。
MyService
也許MysServiceConsoleHost
或一些傳真)。using System;
using System.ServiceModel;
class Program
{
static String TITLE_TEXT = "MyService -- Console Host ({0})" + (System.Diagnostics.Debugger.IsAttached?" [DEBUG]":"");
static void Main(string[] args)
{
Console.Title = String.Format(TITLE_TEXT, "Not Running");
try
{
ServiceHost host = new ServiceHost(typeof(MyService));
Console.Title = String.Format(TITLE_TEXT, "Starting");
host.open();
Console.Title = String.Format(TITLE_TEXT, "Running");
Console.WriteLine("Service is started, press any key to exit.");
Console.ReadKey();
Console.Title = String.Format(TITLE_TEXT, "Closing");
host.close();
host = null;
Console.Title = String.Format(TITLE_TEXT, "Closed");
}
catch (Exception ex)
{
Console.Title = String.Format(TITLE_TEXT, "Exception");
Console.WriteLine("An error occured while running the host:");
Console.WriteLine(ex.Message);
Console.WriteLine();
Console.WriteLine(ex.StackTrace);
Console.ReadLine();
}
}
}
更換的必要MyService
的情況下,然後運行它。確保你有一個.config文件,它指定你的服務的端點,運行的端口等。然後任何人都可以訪問你的服務,並且如果有必要,你可以在實時調用期間通過服務進行調試。
我可以測試本地主機上的web服務。我有一個Windows CE摩托羅拉終端,連接到我的電腦。我在電腦上有VS2008。 我的電腦地址是xxx.xxx.x.xxx和webserver是localhost:62209,所以在終端我使用webservice地址:http://xxx.xxx.x.xxx/62209/MyWebservice.asmx,它的工作原理。 也許是因爲終端直接連接到網絡服務器運行的計算機? 無論如何,它的工作原理。
Web服務通常沒有default.htm,但是.asmx頁面。你能澄清嗎? – Victor 2011-01-28 15:28:58