ASP.NET 表单 - 如何将表单数据发送到外部 WCF 服务
ASP.NET Form - How do I send form data to external WCF Service
我在一个单独的项目(API 的一部分)上有一个 WCF 服务。与我的网站完全分离。我在我的 ASP.NET 网站上创建了一个表单(从一个空网站开始,在 Visual Studio 2013 年)。
方法是什么。
- Read/collect 单击提交按钮时表单的值。
- 连接到远程 WCF 服务以post向它发送数据。
- 收到来自该 WCF 服务的响应?
我在网上看到了很多例子,但在那些例子中,所有的东西总是在一个项目中,我不确定什么属于哪里。
理想情况下,我想在没有 jQuery/AJAX 的情况下执行此操作,然后再考虑使用它们。
在我看来,您可以通过右键单击“项目”>“引用”将服务引用添加到项目,这样您就可以使用客户端代理调用服务方法class。
而如果服务调用通过 HTTP 传递,则可以使用 HttpClient/Webclient/HttpWebRequest class 向服务端点发送 post/get 请求。就像下面的代码一样。
实体。
[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更加简洁易用,这里是一些官方文档。
我在一个单独的项目(API 的一部分)上有一个 WCF 服务。与我的网站完全分离。我在我的 ASP.NET 网站上创建了一个表单(从一个空网站开始,在 Visual Studio 2013 年)。
方法是什么。
- Read/collect 单击提交按钮时表单的值。
- 连接到远程 WCF 服务以post向它发送数据。
- 收到来自该 WCF 服务的响应?
我在网上看到了很多例子,但在那些例子中,所有的东西总是在一个项目中,我不确定什么属于哪里。
理想情况下,我想在没有 jQuery/AJAX 的情况下执行此操作,然后再考虑使用它们。
在我看来,您可以通过右键单击“项目”>“引用”将服务引用添加到项目,这样您就可以使用客户端代理调用服务方法class。 而如果服务调用通过 HTTP 传递,则可以使用 HttpClient/Webclient/HttpWebRequest class 向服务端点发送 post/get 请求。就像下面的代码一样。
实体。
[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更加简洁易用,这里是一些官方文档。