Редактировать: Исправлено, очевидно, классы API не могут быть статическими.Запрошенный ресурс не поддерживает метод http GET. Код ошибки 405
У меня есть веб-API
public sealed class DeploymentController : ApiController
{
[HttpGet]
public static HttpResponseMessage Get([FromUri]Parameters deployment)
{
if (deployment == null) return new HttpResponseMessage(HttpStatusCode.BadRequest);
DeploymentRepository.DetermineExtras(deployment);
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
result.Content = new StreamContent(DeploymentRepository.GenerateStreamFromString
(DeploymentRepository.GetDeployment(deployment)));
result.Content.Headers.ContentType =
new MediaTypeHeaderValue("application/cmd");
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = "DeployApplication.vbs"
};
return result;
}
}
, который возвращает файл для загрузки при запуске.
Этот API должен быть вызван ссылками, на которые Пользователь нажимает.
Как
http://localhost:52998/api/deployment?applicationname=something&systemkind=anotherthing&platformkind=Dotnet
Но вместо файла, я получаю сообщение об ошибке 405.
A first chance exception of type 'System.Web.Http.HttpResponseException' occurred in System.Web.Http.dll
iisexpress.exe Information: 0 : Response, Status=405 (MethodNotAllowed), Method=GET, Url=http://localhost:52998/api/deployment?applicationname=something&systemkind=anotherthing&platformkind=Dotnet, Message='Content-type='application/xml; charset=utf-8', content-length=unknown'
iisexpress.exe Information: 0 : Operation=XmlMediaTypeFormatter.WriteToStreamAsync
Я уже пробовал методы предложили похожую на вопросы, до сих пор не увенчались успехом.
Разрешен вы CORS в WebAPI? –