1

私はWCFメソッドを持っています:

[WebInvoke(Method = "GET",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "exception")]
public void GenerateException()

クライアント (SOAP と JSON) に基づいて別の障害を返したいと思っています。

だから私はコンテンツタイプをチェックし、それに応じて自分のタイプを選択します

String ct = WebOperationContext.Current.IncomingRequest.ContentType;
FaultException fe = new FaultException(errorMessage, new FaultCode(errorCode));
WebFaultException<ErrorData> errorDataWebFault = new WebFaultException<ErrorData>   (errorData, System.Net.HttpStatusCode.InternalServerError);
if (ct.Contains("text/xml"))
            throw fe;
else//Can throw any of the WebFaultExceptions here
            throw errorDataWebFault;

確認しないと、SOAP コンシューマーは WebFaultExceptions のメッセージを見ることができず、JSON コンシューマーは FaultException のメッセージを見ることができません。

これを行うより良い方法はありますか?何か「組み込み」があるべきだと感じます。

4

0 に答える 0