我在localhost上创建了一个Web服务,我尝试通过HttpWebRequest从Web应用程序(也在localhost上)调用它,但是Global.asax中的Application_BeginRequest没有触发。当我输入IE'http://localhost:8010/Test/'(Web服务)时,Application_BeginRequest会触发。问题出在哪儿?如何从也在localhost上的页面测试localhost Web服务?
答案 0 :(得分:0)
不确定您是否拥有WCF网络服务,但如果您确实签出了"WCF Services and ASP.NET"。 IIS不像Web站点那样处理WCF服务,这可能是BeginRequest未被命中的原因:
ASP.NET HTTP运行时处理ASP.NET请求,但不参与处理发往WCF服务的请求,即使这些服务与ASP.NET内容一样托管在同一AppDomain中。相反,WCF服务模型拦截发往WCF服务的消息,并通过WCF传输/通道堆栈路由它们。
答案 1 :(得分:0)
通常,测试Web服务的最佳方法是编写一个客户端来使用它。特别是,您可以使用单元测试框架来编写服务的自动化测试。
WCF甚至不提供允许您测试服务的网页,BTW。