2013-04-12 100 views
3

邊緣的情況下這裏的有點ServiceStack服務: 我需要調用權從剃刀(同一網站)一個servicestack服務 我現在做調用從剃刀

CheckIfConfiguredResponse aResponse= new JsonServiceClient("http:\\localhost:2000").Get<CheckIfConfiguredResponse>("/CheckIfConfigured"); 

是不是正確的方法去做這件事?還是有更好的? 另外,我消除了設計人員手動指定的網址,並自動填入主機(因爲它是在同一網站)

由於提前, 將如何做。

回答

6

你永遠不想僅僅爲了調用ServiceStack服務而給自己發一個HTTP調用。

與其他框架不同,ServiceStack中的Services只是自動連接的C#類型,您可以像IOC其他所有依賴項一樣從IOC中訪問這些類型。即裏面一個Razor視圖,你可以簡單地解決它,並與直接從國際奧委會稱之爲:

var response = base.Get<CheckIfConfiguredService>().Get(new CheckIfConfigured()); 

這就解決,並呼籲像一個正常的自動連線C#依賴的服務,但不注入電流請求上下文。如果您的服務確實需要它,您可以改爲使用AppHostBase.ResolveService,例如:

var response = AppHostBase 
    .ResolveService<CheckIfConfiguredService>(HttpContext.Current) 
    .Get(new CheckIfConfigured()); 
+0

IT工作,非常感謝您的幫助 – willisbueller