本文整理汇总了C#中ICommand.GetData方法的典型用法代码示例。如果您正苦于以下问题:C# ICommand.GetData方法的具体用法?C# ICommand.GetData怎么用?C# ICommand.GetData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ICommand
的用法示例。
在下文中一共展示了ICommand.GetData方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FormatData
/// <summary>
/// Formats the command data so that it can be used in a POST web request
/// </summary>
/// <param name="command"></param>
/// <returns></returns>
public string FormatData(ICommand command)
{
if (command == null)
{
throw new ArgumentNullException("command");
}
var sb = new StringBuilder();
sb.Append("Action=");
sb.Append(HttpUtility.UrlEncode(command.Action));
Dictionary<string, string> d = command.GetData();
if (d != null)
{
foreach (string key in d.Keys)
{
sb.Append('&');
sb.Append(HttpUtility.UrlEncode(key));
sb.Append('=');
sb.Append(HttpUtility.UrlEncode(d[key]));
}
}
return sb.ToString();
}
示例2: Build
public HttpWebRequest Build(ICommand command)
{
if (command == null)
{
throw new ArgumentNullException("command");
}
var request = (HttpWebRequest)WebRequest.Create(this._address);
request.Method = "POST";
// Create POST data and convert it to a byte array.
var sb = new StringBuilder();
// setup headers
// date header
request.Date = DateTime.UtcNow;//.ToString("ddd, dd MMM yyyy hh:mm:ss +0000"); // e.g Tue, 25 May 2010 23:05:27 +0000
// sign request with request date
var date = request.Date.ToString("ddd, dd MMM yyyy HH:mm:ss ") + "GMT";
sb.Append("AWS3-HTTPS AWSAccessKeyId=");
sb.Append(this._credentials.AccessKeyID);
sb.Append(", Algorithm=HmacSHA1, Signature="); //HMACSHA1 or HmacSHA1
sb.Append(GenerateSignature(this._credentials.SecretAccessKey, date));
request.Headers.Add("X-Amzn-Authorization", sb.ToString());
request.ContentType = "application/x-www-form-urlencoded";
// data
sb.Length = 0;
sb.Append("Action=");
sb.Append(command.Action);
var d = command.GetData();
if (d != null)
{
foreach (string key in d.Keys)
{
sb.Append('&');
sb.Append(HttpUtility.UrlEncode(key));
sb.Append('=');
sb.Append(HttpUtility.UrlEncode(d[key]));
}
}
byte[] byteArray = Encoding.UTF8.GetBytes(sb.ToString());
request.ContentLength = byteArray.Length;
using (Stream dataStream = request.GetRequestStream())
{
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
}
return request;
}