웹 사이트 1에서 GET 요청을 시작하는 GET 웹 서비스를 만들려고합니다 ... 웹 사이트 2 및 웹 사이트 2에 요청을 보내면 개체 목록을 보내 응답합니다. Json.net을 사용하여 객체 목록을 직렬화 및 비 직렬화합니다.MVC 3 웹 서비스 및 응답
내가이 질문의 도움과 함께 POST의 웹 서비스를 넣었습니다 .. WebService ASP.NET MVC 3 Send and Receive
하지만 내 새로운 요구 사항에 대한 그 예를 적응에 지금까지 실패있었습니다. 여기
은 .. 내가 지금까지 웹 사이트 1이 무엇public class GetAPIController : Controller
{
//
// GET: /Api/GetAPI/
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult GetScientificFocusAreas()
{
//Get list of SFAs
List<ScientificFocusArea> ListSFA = CreateList.ScientificFocusArea();
string json = JsonConvert.SerializeObject(ListSFA, Formatting.Indented);
//Send the the seralized object.
return Json(json);
}
}
또한, 웹 사이트 2에, 나는이 길을 등록한
웹 사이트 2 다음public static List<ScientificFocusArea> ScientificFocusAreas()
{
string apiURL = "http://localhost:50328/Api/GetAPI";
//Make the post
ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;
//var bytes = Encoding.Default.GetBytes(body);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(apiURL);
Stream stream = null;
try
{
request.KeepAlive = false;
request.ContentType = "application/x-www-form-urlencoded";
request.Timeout = -1;
request.Method = "GET";
}
finally
{
if (stream != null)
{
stream.Flush();
stream.Close();
}
}
List<ScientificFocusArea> listSFA = WebService.GetResponse_ScientificFocusArea(request);
return listSFA;
}
public static List<ScientificFocusArea> GetResponse_ScientificFocusArea(HttpWebRequest request)
{
List<ScientificFocusArea> listSFA = new List<ScientificFocusArea>();
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
using (Stream responseStream = response.GetResponseStream())
{
if (response.StatusCode != HttpStatusCode.OK && response.StatusCode != HttpStatusCode.Created)
{
throw new HttpException((int)response.StatusCode, response.StatusDescription);
}
var end = string.Empty;
using (StreamReader reader = new StreamReader(responseStream))
{
end = reader.ReadToEnd();
reader.Close();
listSFA = JsonConvert.DeserializeObject<List<ScientificFocusArea>>(end);
}
response.Close();
}
}
return listSFA;
}
... 수신 요청의 경우 ...
context.MapRoute(
"GetScientificFocusAreas",
"Api/GetAPI/",
new
{
controller = "GetAPI",
action = "GetScientificFocusAreas",
id = UrlParameter.Optional
}
);
현재 오류가 발생했습니다. 원격 서버에서 오류를 반환했습니다. (404) 찾을 수 없습니다.
도움이된다면 크게 감사하겠습니다.
제안을 구현하려고하는데이 줄에 오류가 있습니다 ... serializer.Binder = new DefaultSerializationBinder(); 네임 스페이스 또는 클래스가 누락 되었습니까? System; using System.Collections.Generic; using System.Web; using System.Web.Routing; using System.Web.Mvc; using System.IO; using System.Collections; using System.Net; using System.Text; Newtonsoft.Json을 사용하는 ; –
나의 마지막 코멘트를 무시하십시오 척, 나는 그것을 작동시킬 수있었습니다. serializer.Binder = 새로운 DefaultSerializationBinder(); –
도와 줘서 고마워 척! –