3
我正在使用ServiceStack請求過濾器,我想要檢查requestDTO參數的其中一個屬性。該參數在運行時強類型化,但在編譯時是一個通用對象。按類型訪問ServiceStack requestDto對象
該過濾器將用於多個服務調用,因此requestDTO類型將根據調用的內容而改變。因此我無法對它進行特定的演員表演。但是,不管類型如何,requestDTO對象將始終有一個名爲「AppID」的字符串屬性。這是我希望訪問的這個屬性。
這裏是我的代碼(目前不編譯):
public override void Execute(ServiceStack.ServiceHost.IHttpRequest req, ServiceStack.ServiceHost.IHttpResponse res, object requestDto)
{
//Check only for non-local requests
if (!req.IsLocal)
{
var app = this._appIDs.Apps.Where(x => x.ID == requestDto.AppID).FirstOrDefault();
var errResponse = DtoUtils.CreateErrorResponse("401", "Unauthorised", null);
var contentType = req.ResponseContentType;
res.WriteToResponse(req, errResponse);
res.EndRequest(); //stops further execution of this request
return;
}
}
此行不會編譯:
var app = this._appIDs.Apps.Where(x => x.ID == requestDto.AppID).FirstOrDefault();
我需要與反思這裏要處理訪問我的對象或有沒有內置到ServiceStack本身?
Gargh,當然。他們已經實施了適當的界面,我很愚蠢。再次感謝。 – Simon