我在一个单独的项目(API的一部分)上有一个WCF服务。与我的网站完全脱钩。我在ASP.NET网站(在Visual Studio 2013中以一个空网站开头)上创建了一个表单。
该怎么办?
我在网上看到了很多示例,但是在这些示例中,所有内容始终都在一个项目中,并且我不确定属于哪个项目。
理想情况下,最初我想在没有jQuery / AJAX的情况下执行此操作,然后考虑以后再使用它们。
答案 0 :(得分:1)
我认为,可以通过右键单击“项目”>“引用”将服务引用添加到项目中,以便可以使用客户端代理类调用服务方法。 如果服务调用通过HTTP传递,则可以使用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更简洁易用,下面是一些官方文件。