我有一個要求有一個服務處理請求,將其轉換爲一些其他的要求,傳遞請求內的服務,得到了響應,並將其轉換回外服務響應。有些代碼可能會更好地解釋它。這是我做了什麼:轉發ServiceStack請求到其他服務處理器
public class InviteUserService : Service, IPost<Invitee>
{
public RegistrationService RegistrationService { get; set; }
public object Post(Invitee invitee)
{
// Do other invitation related work that is part of my domain.
var registration = invitee.TranslateTo<Registration>();
registration.UserName = invitee.EmailAddress;
registration.Email = invitee.EmailAddress;
// It previously threw a null ref exception until I added this.
RegistrationService.RequestContext = RequestContext;
var response = RegistrationService.Post(registration);
if (response is RegistrationResponse)
{
var inviteeResponse = response.TranslateTo<InviteeResponse>();
return inviteeResponse;
}
// Else it is probably an error and just return it directly to be handled by SS.
return response;
}
}
如上面所示代碼中的註釋,我才流傳下來的RequestContext
它與一個NullReferenceException失敗。現在我已經完成了它的工作,但是我想知道我是否正在進入一場關於ServiceStack如何工作的上游戰鬥?它會給我帶來更多問題嗎?
如果兩個服務是我的控制之下,我只想移動註冊碼到一個單獨的共享依賴性。然而RegistrationService
內置ServiceStack,似乎並沒有要在離開這個任何其他方式調用。除非我錯過了什麼?
感謝,正是我一直在尋找。而事實證明,這是什麼'RegistrationService'也確實爲自動登錄轉發到'AuthService',不知道我怎麼錯過了早期的... – Tyson