Я работаю над проектом, где мне нужно предоставить REST API для клиентов, который вернет некоторые данные из базы данных в формате JSON. «До сих пор вот мой код контроллера:Reach .net web api from another pc
[Models.AllowCors]
public HttpResponseMessage Get(string Id)
{
string ClearName = Id.Replace("_", " ");
IQueryable<Models.User> userQuery =
from user in Models.TableAccesser.Users_Table where
user.Name == ClearName
select user;
return Request.CreateResponse(HttpStatusCode.OK, userQuery);
}
Проблема я столкнулся в том, что я могу достигнуть апи только из того же ПК, как, где выполняется Web API. я могу достичь с помощью ссылки, как это:
my_ip:54780/users/parameters
Если я позвоню из того же компьютера, она работает нормально, но я не могу достигнуть его с другого ПК. Я попытался разрешить корс несколькими способами, но не работал. Я пробовал:
Включение CORS в webapiconfig.cs:
var cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors);
Он не работал
я попытался добавить новую запись в Интернете .config:
<add name="Access-Control-Allow-Origin" value="*"/>
это работало ни
то последнее, что я пытался добавлял функцию:
public class AllowCors : ActionFilterAttribute { public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext) { if (actionExecutedContext == null) { throw new ArgumentException("ActionExecutedContext"); } else { actionExecutedContext.Response.Headers.Remove("Access-Control-Allow-Origin"); actionExecutedContext.Response.Headers.Add("Access-Control-Allow-Origin", "*"); } base.OnActionExecuted(actionExecutedContext); } }
Я попытался с помощью почтальона с другого компьютера, и XMLHttpRequest, AJAX , но никто не работал. есть задержка в течение примерно 20 секунд, а затем ничего, если я попытаюсь написать response.responseText, это просто «ошибка», не более того.
Не могли бы вы дать какие-либо идеи, что я могу попробовать получить от API? Этот API будет использоваться из мобильного приложения, поэтому он должен работать с простыми запросами.
Благодарим вас за консультацию.
Испытываете ли вы это в среде work/server или из домашней среды? – Seany84
Можете ли вы получить доступ к компьютеру с другого компьютера? Любой брандмауэр блокирует запросы? – Thangadurai