это выглядит как проблема CORS ... стараюсь, чтобы это .. в вашем webconfig.xml:
<system.webServer>
<modules>
<remove name="FormsAuthentication" />
</modules>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
И тогда в ваших StartUp.cs файлов:
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Owin;
using Owin;
using Microsoft.Owin.Cors;
[assembly: OwinStartup(typeof(DipendentiStatali.API.Startup))]
namespace DipendentiStatali.API
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
app.UseCors(CorsOptions.AllowAll); //<--ALLOW CORS FOR ALL OR FOR WHAT HOST YOU WANT
ConfigureAuth(app);
}
}
}
Затем попытайтесь отправить запрос как JSON
вместо xx-form-urlencoded
Вы активируете метод put на сервер? (CORS) –
, а также вы уверены, что правильный формат форматирован-url-encoded, а не json? –
Да, для .NET API я использую форму-url-encoded. О авторизации PUT на сервере, я разрешаю все методы, используя следующую команду: context.OwinContext.Response.Headers.Add («Access-Control-Allow-Origin», new [] {"*"}); –