我有一个基于REST的Web服务,它在IIS下运行,名称为" WebHandler"。我通常在IIS下运行webservice,然后编写功能测试代码。
所以每次运行/调试功能测试时,我都必须在IIS下运行webservice。有没有办法在功能测试代码中,我可以以某种方式以编程方式托管web服务,以便web服务是同一进程的一部分(不涉及IIS)?我认为的好处是:
类似于自托管WCF服务的东西,例如
using (ServiceHost host = new ServiceHost(typeof(SaleClassLibrary.SaleService), baseAddress))
{
...
host.Open();
// do the end-to-end test
host.Close();
}
我从http://www.codeproject.com/Tips/622260/WCF-Self-Hosting-with-Example第1部分[自托管]
获取的上述代码段以下是我的web.config的片段(如果需要)
<system.webServer>
<handlers>
<add name="WebHandler" path="*" verb="*" type="Com.Tata.WebHandler" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
</handlers>
</system.webServer>
答案 0 :(得分:0)
如果这有助于您,请告诉我们:
如果您创建新的WCF服务应用程序项目,则您可以访问项目的属性窗口中的 Web 标签,您可以在其中直接访问在IIS上托管您的项目,并且每次调试或运行时,您都有更新的服务版本。