本文整理汇总了C#中System.Globalization.Message.ToHttpResponseMessage方法的典型用法代码示例。如果您正苦于以下问题:C# Message.ToHttpResponseMessage方法的具体用法?C# Message.ToHttpResponseMessage怎么用?C# Message.ToHttpResponseMessage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Globalization.Message
的用法示例。
在下文中一共展示了Message.ToHttpResponseMessage方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ArgumentNullException
void IErrorHandler.ProvideFault(Exception error, MessageVersion version, ref Message fault)
{
if (error == null)
{
throw new ArgumentNullException("error");
}
HttpResponseMessage responseMessage = (fault == null) ? this.GetDefaultResponse() : fault.ToHttpResponseMessage();
if (responseMessage == null)
{
string errorMessage = string.Format(CultureInfo.CurrentCulture, SR.HttpErrorMessageNullResponse, this.GetType().Name);
throw new InvalidOperationException(errorMessage);
}
this.ProvideResponse(error, responseMessage);
fault = responseMessage.ToMessage();
}
示例2: ArgumentNullException
/// <summary>
/// Called after the operation has returned but before the reply message is sent.
/// </summary>
/// <param name="reply">The reply message. This value is null if the operation is one way.</param>
/// <param name="correlationState">The correlation object returned from the <see cref="AfterReceiveRequest(ref Message, IClientChannel, InstanceContext)"/> method.</param>
void IDispatchMessageInspector.BeforeSendReply(
ref Message reply,
object correlationState)
{
if (reply == null)
{
throw new ArgumentNullException("reply");
}
HttpResponseMessage httpResponse = reply.ToHttpResponseMessage();
if (httpResponse == null)
{
throw new InvalidOperationException(
string.Format(
CultureInfo.CurrentCulture,
SR.HttpMessageInspectorNullResponse,
this.GetType().Name));
}
this.BeforeSendReply(httpResponse, correlationState);
}
示例3: GetHttpResponseMessageOrThrow
private static HttpResponseMessage GetHttpResponseMessageOrThrow(Message message)
{
HttpResponseMessage response = message.ToHttpResponseMessage();
if (response == null)
{
throw new InvalidOperationException(
string.Format(
CultureInfo.CurrentCulture,
SR.MessageInvalidForHttpMessageEncoder,
httpMessageBindingClassName,
HttpMessageExtensionMethods.ToMessageMethodName,
httpResponseMessageClassName));
}
return response;
}
示例4: ConfigureResponseMessage
private static Message ConfigureResponseMessage(Message message)
{
if (message == null)
{
return null;
}
HttpResponseMessageProperty responseProperty = new HttpResponseMessageProperty();
HttpResponseMessage httpResponseMessage = message.ToHttpResponseMessage();
if (httpResponseMessage == null)
{
responseProperty.StatusCode = HttpStatusCode.InternalServerError;
responseProperty.SuppressEntityBody = true;
}
else
{
responseProperty.StatusCode = httpResponseMessage.StatusCode;
HttpResponseHeaders responseHeaders = httpResponseMessage.Headers;
if (responseHeaders != null)
{
foreach (var entry in responseHeaders)
{
foreach (var value in entry.Value)
{
responseProperty.Headers.Add(entry.Key, value);
}
}
}
if (httpResponseMessage.Content == null || httpResponseMessage.Content.Headers.ContentLength == 0)
{
responseProperty.SuppressEntityBody = true;
}
else
{
foreach (var entry in httpResponseMessage.Content.Headers)
{
foreach (var value in entry.Value)
{
responseProperty.Headers.Add(entry.Key, value);
}
}
}
}
message.Properties.Clear();
message.Headers.Clear();
message.Properties.Add(HttpResponseMessageProperty.Name, responseProperty);
return message;
}