私は次の問題に直面しています:
コントローラからドメインレイヤーに電話をかける必要があります。これは、参照によって要求を受け取るWebサービスメソッドを呼び出します(参照)。
コントローラーコード:
//BusinessEntityObject is a Reference-Type (BusinessEntity) object
var request = View.BusinessEntityObject;
_workflowService.PerformAction(request);
if(request.Errors.Count != 0)
{
View.Errors = request.Errors;
return false;
}
ドメインレイヤー(WorkflowService.csクラス):
public void PerformAction(BusinessEntity request)
{
//TryAction(System.Action action) basically wraps action in try catch and handles exceptions
TryAction(() =>
{
_wcfClient.RequestSomething(ref request);
});
}
IF_wcfClient.RequestSomething
は、戻り時にエラーコレクションを変更します。リクエストオブジェクトには、このエラーが更新されたエラーコレクションがあります。ただし、制御がコントローラーに戻され、エラー収集がチェックされると、更新は失われます。
Edit00:ああ、恥知らずなプラグ、私は担当者14にいます、そして私は私に役立つたくさんの質問/回答をぶつけようとしました、そしてそれは私が私のレベルが低いので私ができないと言います。
Edit01:ディランに感謝します。このようなサイトを用意して、見逃してしまう可能性のある非常に小さなことを指摘してください。私に値を返した更新されたコードは次のようになります。
ドメインレイヤー(WorkflowService.csクラス):
public BusinessEntity PerformAction(BusinessEntity request)
{
//TryAction(System.Action action) basically wraps action in try catch and handles exceptions
TryAction(() =>
{
_wcfClient.RequestSomething(ref request);
return request;
});
}