本文整理汇总了C#中HttpVerbs.IsInsert方法的典型用法代码示例。如果您正苦于以下问题:C# HttpVerbs.IsInsert方法的具体用法?C# HttpVerbs.IsInsert怎么用?C# HttpVerbs.IsInsert使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HttpVerbs
的用法示例。
在下文中一共展示了HttpVerbs.IsInsert方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DetermineWhetherResponseBodyOrETagShouldBeWritten
/// <summary>
/// Determines the whether response body should be written based on the request verb and the uri.
/// NOTE: Does not consider the client's preference when determining this.
/// </summary>
/// <param name="requestVerb">The request verb.</param>
internal void DetermineWhetherResponseBodyOrETagShouldBeWritten(HttpVerbs requestVerb)
{
if (this.responseBodyOrETagShouldBeWritten.HasValue)
{
return;
}
this.responseBodyOrETagShouldBeWritten = true;
if (this.TargetSource != RequestTargetSource.ServiceOperation)
{
if (requestVerb.IsInsert() || requestVerb.IsUpdate())
{
this.responseBodyOrETagShouldBeWritten = !this.LinkUri;
}
else if (requestVerb.IsDelete())
{
this.responseBodyOrETagShouldBeWritten = false;
}
}
else if (this.TargetKind == RequestTargetKind.VoidOperation)
{
this.responseBodyOrETagShouldBeWritten = false;
}
}
示例2: DetermineWhetherResponseBodyShouldBeWritten
/// <summary>
/// Determines the whether response body should be written based on the request verb, the uri, and the client's preference.
/// </summary>
/// <param name="requestVerb">The request verb.</param>
internal void DetermineWhetherResponseBodyShouldBeWritten(HttpVerbs requestVerb)
{
if (this.responseBodyShouldBeWritten.HasValue)
{
return;
}
if (this.Preference.ShouldIncludeResponseBody)
{
this.responseBodyShouldBeWritten = true;
}
else if (this.Preference.ShouldNotIncludeResponseBody || !this.ShouldWriteResponseBodyOrETag)
{
this.responseBodyShouldBeWritten = false;
}
else
{
Debug.Assert(!this.Preference.HasResponseBodyPreference, "Should only reach here if no preference was specified.");
Debug.Assert(this.ShouldWriteResponseBodyOrETag, "Should only reach here if response body or ETag *might* be written.");
this.responseBodyShouldBeWritten = true;
if (this.TargetSource != RequestTargetSource.ServiceOperation)
{
if (requestVerb.IsInsert())
{
this.responseBodyShouldBeWritten = !this.LinkUri;
}
else if (requestVerb.IsChange())
{
this.responseBodyShouldBeWritten = false;
}
}
}
}
示例3: InterpretClientPreference
/// <summary>
/// Interprets the client preference for having a response body.
/// </summary>
/// <param name="requestDescription">The request description.</param>
/// <param name="verb">The request verb.</param>
/// <param name="requestMessage">The request message.</param>
/// <returns>An enum representation of the client's preference.</returns>
private static ResponseBodyPreference InterpretClientPreference(RequestDescription requestDescription, HttpVerbs verb, IODataRequestMessage requestMessage)
{
Debug.Assert(requestDescription != null, "requestDescription != null");
// If no responseBodyPreference given, we have default behavior of producing content for POST and not producing it for PUT/PATCH.
// If responseBodyPreference is given we honor the responseBodyPreference only if the request was for an entity and following conditions are true:
// This is not a service operation invoke
// DSV was set to 3.0 and above
// Server is configured to be >= 3.0
if (requestDescription.LinkUri || requestDescription.SegmentInfos[0].TargetSource == RequestTargetSource.ServiceOperation || requestDescription.RequestVersion < VersionUtil.Version4Dot0)
{
return ResponseBodyPreference.None;
}
if ((verb.IsInsert()) || ((verb.IsUpdate()) && (requestDescription.TargetKind == RequestTargetKind.Resource || requestDescription.IsRequestForNonEntityProperty)))
{
if (requestMessage.PreferHeader().ReturnContent.HasValue)
{
return requestMessage.PreferHeader().ReturnContent.Value ? ResponseBodyPreference.Content : ResponseBodyPreference.NoContent;
}
}
// TODO: move logic for when/when-not-to write a response body here and remove all checks for 'none' elsewhere
return ResponseBodyPreference.None;
}