我正在尝试从ac#WPF桌面应用程序执行发布到我的WebAPI.
无论我做什么,我都会
{ "错误": "unsupported_grant_type"}
这就是我尝试过的(我已经尝试过所有可以找到的东西):
此外,dev web api目前正在进行测试:http://studiodev.biz/
基本http客户端对象:
var client = new HttpClient()
client.BaseAddress = new Uri("http://studiodev.biz/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/plain"));
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("*/*"));
Run Code Online (Sandbox Code Playgroud)
使用以下发送方法:
var response = await client.PostAsJsonAsync("token", "{'grant_type'='password'&'username'='username'&'password'='password'");
var response = await client.PostAsJsonAsync("token", "grant_type=password&username=username&password=password");
Run Code Online (Sandbox Code Playgroud)
在那次失败后,我做了一些谷歌搜索并尝试:
LoginModel data = new LoginModel(username, password);
string json = JsonConvert.SerializeObject(data);
await client.PostAsync("token", new JsonContent(json));
Run Code Online (Sandbox Code Playgroud)
同样的结果,所以我试过:
req.Content = new StringContent(json, Encoding.UTF8, "application/x-www-form-urlencoded");
await client.SendAsync(req).ContinueWith(respTask =>
{
Application.Current.Dispatcher.Invoke(new Action(() => { label.Content = respTask.Result.ToString(); }));
});
Run Code Online (Sandbox Code Playgroud)
注意:我可以通过Chrome成功拨打电话.
更新Fiddler结果
请有人帮我成功拨打上述网页API …
我在这里复制了我的问题小提琴:http://jsfiddle.net/U3pVM/2840/
正如标题所示,我无法设置使用ng-options填充的选择的选定值.
我搜索并尝试了所有可能的解决方案.任何帮助或建议将不胜感激!
HTML
<div ng-app>
<h2>Todo</h2>
<div ng-controller="TodoCtrl">
<select ng-model="ddlRooms" ng-options="r.id as r.Name for r in Rooms">
</select>
{{$scope.test}}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
角
function TodoCtrl($scope) {
$scope.Rooms = [{ Name: 'Toddler', id: 1 },{ Name: 'other', id: 2 }];
$scope.options = [{ Name: 'other', id: 2 }];
$scope.ddlRooms = $scope.options[0];
$scope.test = 'bla';
}
Run Code Online (Sandbox Code Playgroud) 尝试使用AngularJS和ng-options的最新版本(1.5.8)来填充下拉列表.
问题是它正在添加数据类型以及值,如下所示:
<select class="possedetail ng-valid ng-dirty ng-valid-parse ng-touched" ng-model="Province" ng-options="p as p for p in provList">
<option value="string:ALBERTA" label="ALBERTA">ALBERTA</option>
<option value="string:BRITISH COLUMBIA" label="BRITISH COLUMBIA">BRITISH COLUMBIA</option></select>
Run Code Online (Sandbox Code Playgroud)
我需要字符串:艾伯塔省......
这是我的数据来源:
$scope.provList = ["ALBERTA","BRITISH COLUMBIA","MANITOBA","NEW BRUNSWICK","NEWFOUNDLAND AND LABRADOR","NORTHWEST TERRITORIES","NOVA SCOTIA","NUNAVUT","ONTARIO","PRINCE EDWARD ISLAND","QUEBEC","SASKATCHEWAN","YUKON",];
Run Code Online (Sandbox Code Playgroud)
我已阅读google文档,在网上搜索并尝试将我的数据源格式更改为[{name:"Alberta"},{name:"BC"}] ...
请帮忙,不管怎么说?
我需要将1027*768位图渲染到客户端窗口(相同大小),并且我没有超过10-15 ms来完成此任务.我使用bufferedGraphics从分配bufferedGraphicsContect对象,仍然看到巨大的性能问题.
我使用不安全的代码来执行我的复制操作,并找到了令人难以置信的结果.我知道Graphics/BufferedGraphics对象应该在内存中有某种绘图表面.我想知道是否有人能指出我如何使用Marshal或其他一些不安全的低级方法写入这个表面的正确方向.
我正在移植旧的c#图形应用程序.我知道c#不是为重型图形设计的,并且有比GDI +更好的工具,不幸的是我没有那些奢侈品.
这就是我到目前为止所提出的......任何有用的见解都是非常有用的.
byte[] _argbs = null;
static readonly Bitmap _bmUnderlay = Properties.Resources.bg;
static Bitmap _bmpRender = new Bitmap(1024, 768, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
int bmpHeight = Properties.Resources.bg.Height;
int bmpWidth = Properties.Resources.bg.Width;
static BufferedGraphicsContext _bgc = new BufferedGraphicsContext();
internal unsafe void FillBackBuffer(Point cameraPos)
{
// lock up the parts of the original image to read (parts of it)
System.Drawing.Imaging.BitmapData bmd = _bmUnderlay.LockBits(
new Rectangle(cameraPos.X, cameraPos.Y, 1024, …
Run Code Online (Sandbox Code Playgroud) angularjs ×2
c# ×2
ng-options ×2
buffered ×1
graphics ×1
httpclient ×1
javascript ×1
memory ×1
select ×1
selecteditem ×1
set ×1
token ×1
unsafe ×1
wpf ×1