Чего я хочу достичь:
Я хочу контролировать все вызовы методов WCF и добавить некоторую проверку. Если проверка не удалась, я хочу, чтобы метод возвращался раньше с пользовательским ответом того же типа с типом возвращаемого метода.
Как я могу добиться этого в центральном месте без необходимости добавления проверка валидации в каждом методе?
Вот псевдокод:
using System;
using System.Collections.Generic;
using System.ServiceModel;
using System.Text;
using System.Threading;
namespace Microsoft.WCF.Documentation
{
[ServiceContractAttribute(Namespace="http://microsoft.wcf.documentation")]
public interface ISampleService
{
[OperationContractAttribute(AsyncPattern=true)]
IAsyncResult BeginGetCustomerInfo(GetCustomerInfoRequest request, AsyncCallback callback, object asyncState);
GetCustomerInfoResponse EndGetCustomerInfo(IAsyncResult result);
[OperationContractAttribute(AsyncPattern=true)]
IAsyncResult BeginGetProductDetails(GetProductDetailsRequest request, AsyncCallback callback, object asyncState);
GetProductDetailsResponse EndGetProductDetails(IAsyncResult result);
}
public class SampleService : ISampleService
{
public IAsyncResult BeginGetCustomerInfo(GetCustomerInfoRequest request, AsyncCallback callback, object asyncState)
{
Console.WriteLine("BeginGetCustomerInfo called with: \"{0}\"", request);
//...
}
public GetCustomerInfoResponse EndGetCustomerInfo(IAsyncResult r)
{
//...
return new GetCustomerInfoResponse();
}
public IAsyncResult BeginGetProductDetails(GetProductDetailsRequest request, AsyncCallback callback, object asyncState)
{
Console.WriteLine("BeginGetProductDetails called with: \"{0}\"", request);
//...
}
public GetProductDetailsResponse EndGetProductDetails(IAsyncResult r)
{
//...
return new GetProductDetailsResponse();
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/766 ... se-earlier
Промежуточное ПО/перехватчик WCF для более раннего возврата пользовательского ответа ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
NRVO против раннего возврата для типов, не использующих семантику перемещения (GCC 14 -Wnrvo)
Anonymous » » в форуме C++ - 0 Ответы
- 25 Просмотры
-
Последнее сообщение Anonymous
-