У меня есть служба WCF в отдельном проекте (часть API). Полностью отделен от моего сайта. Я создал форму на своем сайте ASP.NET (начался с пустого сайта в Visual Studio 2013).
Какой подход к.
Я вижу много примеров в Интернете, но в этих примерах все всегда в одном проекте, и я не уверен, что и где принадлежит.
В идеале я хотел бы сначала сделать это без jQuery / AJAX и подумать об их использовании позже.
На мой взгляд, вы можете добавить ссылку на службу в проект, щелкнув правой кнопкой мыши Project> Reference, чтобы вы могли вызвать метод службы с помощью класса прокси-сервера клиента. Хотя, если вызов службы проходит через HTTP, вы можете отправить запрос post / get в конечную точку службы с помощью класса HttpClient / Webclient / HttpWebRequest. Как и в приведенном ниже коде.
Сущность.
[DataContract]
public class BookInfo
{
[DataMember]
public string Name { get; set; }
}
Метод.
static void Main(string[] args)
{
BookInfo bookInfo = new BookInfo()
{
Name = "Apple"
};
Console.WriteLine(callService(bookInfo));
}
private static string callService(BookInfo input)
{
string serviceUrl = "http://localhost:90/Service1.svc/booking";
string stringPayload = "{\"bookInfo\":" + JsonConvert.SerializeObject(input) + "}";
WebClient client = new WebClient();
client.Headers["Content-type"] = "application/json";
client.Encoding = Encoding.UTF8;
string rtn = client.UploadString(serviceUrl, "POST",stringPayload);
return rtn;
}
HttpClient более лаконичен и прост в использовании. Вот официальный документ.
Вы можете добавить свою службу WCF в качестве ссылки на службу в свой проект.