そのため、WCF RESTスターターキットの開発者ガイドを使用していて、RequestInterceptorに問題があります。ガイドが示している正確なコードがありますが、何らかの理由でメソッドが終了することはありません。
これは私のコードです:
public override void ProcessRequest(ref RequestContext requestContext)
{
GenerateErrorResponse(requestContext, HttpStatusCode.Forbidden, "shit happens!");
}
public void GenerateErrorResponse(RequestContext context, HttpStatusCode statusCode, string errorMessage)
{
XElement response = XElement.Load(new StringReader(string.Format(ERROR_HTML, errorMessage)));
Message reply = Message.CreateMessage(MessageVersion.None, "action", response);
HttpResponseMessageProperty responseProp = new HttpResponseMessageProperty()
{
StatusCode = statusCode,
//StatusDescription = errorMessage
};
responseProp.Headers[HttpRequestHeader.ContentType] = "text/html";
reply.Properties[HttpResponseMessageProperty.Name] = responseProp;
context.Reply(reply);
context = null;
}
私の呼び出しはcontext.Reply(reply);でスタックします。何が間違っているのかわかりません...何か注意が必要ですか?
ありがとう