[英]Testing a Web Service
我在C#中有一个Web服务应用程序。 当我在Visual Studio中运行Debug时,它在http://localhost:######
启动服务,并显示Default.htm页面,其中包含用于测试可以对Web服务进行的不同调用的链接。
有没有办法调用这个本地运行的版本从另一台计算机测试它? 我试着打电话给测试页面上的链接,但是用运行它的机器的IP地址替换了localhost,但它说它无法连接到服务器。
嵌入式Visual Studio Web服务器(Cassini)只能从本地计算机访问。 如果要从其他计算机使用Web服务,则需要将该服务部署到IIS,然后您将能够访问http://xxx.xxx.xxx.xxx/MyWebService/MyWebService.asmx
(将xxx替换为您的IP地址,将MyWebService替换为相应的IIS网站路径)。
然后,要创建测试应用程序,您可以创建ASP.NET网站或WinForms / Console应用程序,并在Visual Studio中导入Web服务引用。 这将自动为您构建代理类,并使调用服务变得非常容易。
只需将您的服务包装在控制台应用程序中,即可访问它。
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文件,要运行的端口等。然后,任何人都可以访问您的服务,如有必要,您可以在实时调用期间通过该服务进行调试。
我可以在localhost上测试web服务。 我有一个Windows CE摩托罗拉终端,连接到我的电脑。 我在计算机上安装了VS2008。 我的计算机地址是xxx.xxx.x.xxx,网站服务器是localhost:62209,所以在终端我使用webservice地址: http : //xxx.xxx.x.xxx/62209/MyWebservice.asmx它可以工作。 也许是因为终端直接连接到网络服务器运行的计算机? 无论如何,它的工作原理。
如果您使用的是Visual Studio的内置Web服务器(Cassini),那么只能在本地调用它。 如果要远程连接,则必须安装IIS并配置项目才能使用它。
是的,不是。 如果您使用内置的ASP.NET开发服务器(很可能,因为您有:####),我不相信可以从外部联系。
但是,您可以“部署”到本地IIS实例,然后可以从其他计算机上进行命中。 Web Service Studio是一个很好的Web服务测试工具。 还有一些非常好的开源工具。 我自己喜欢SoapUI。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.