にエラーメッセージを表示するように、そこにあるハンドルWebFaultExceptionは私のWCFのRESTサービスでラベル
私のasp.netクライアントでthrow new WebFaultException<string>("there is no this user", HttpStatusCode.NotFound);
、私は例外とショーの上にキャッチしたいと思うでしょう方法GETUSER(ユーザー名)、ラベルに「このユーザーはありません」と表示されます。私は次のようにコーディングしようとすると、しかし:
MyServiceClient client = new MyServiceClient;
try
{
client.GetUser(username);
}
catch (Exception ex)
{
Label.Text = ex.Message;
}
それは結局のところ、「このユーザーが何にあり」の代わりにメッセージを表示しない「NOTFOUND」。
「このユーザーはいません」というメッセージを表示するにはどうすればよいですか?
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json,
UriTemplate = "{username}")]
void GetUser(username);
.SVCクラス::私のRESTサービスで
4分の20
は、あなたがすべきことを
public void GetUser(username)
{
try
{
Membership.GetUser(username);
WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.OK;
}
catch (Exception ex)
{
throw new WebFaultException<string>("there is no this user", HttpStatusCode.NotFound);
}
}
を参照してくださいしかし、私はWebFaultExceptionに例外を変更すると、それは} {キャッチに達することができない、それが中に例外をスロー「client.GetUser(ユーザー名);」 「FaultExceptionがユーザコードで処理されていませんでした。」 –
'WebFaultException'を 'FaultException 'に変更しようとしましたか?実際に発生する例外の型が 'FaultException'で、' WebFaultException'が必要な場合は、これを反映するようにコードを更新したようです。それは動作しますか? –
nicodemus13
は動作しませんが、catch {}に達する可能性がありますが、webFaultExceptionはnullです。エラーメッセージを表示できません。 –