簡體   English   中英

自托管asp.net RESTful Web服務

[英]Self hosting asp.net RESTful webservice

我有一個基於REST的Web服務,該服務在IIS下以“ WebHandler”名稱運行。 我通常在IIS下運行Web服務,然后編寫功能測試代碼。

因此,每次運行/調試功能測試時,都必須使Web服務在IIS下運行。 有沒有一種方法可以在功能測試代碼中以某種方式以編程方式托管Web服務,以使Web服務成為同一進程的一部分(不涉及IIS)? 我感覺到的好處是:

  1. 快速修改Web服務代碼並對其進行測試。
  2. 無需再編譯新的Web服務dll,將其放入IIS的bin文件夾中並重置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>

讓我知道這是否對您有幫助:

如果創建新的WCF服務應用程序項目,則可以訪問該項目的“ 屬性”窗口中的“ Web”選項卡,在該窗口中,您可以直接在IIS上托管項目,並且通過每次調試或運行工作,都可以獲得的更新版本。您的服務將繼續。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM