我将与第三方接口 - 信息交换如下:
如果我的应用程序是客户端而第三方是服务器,那么:
WCF可以实现吗?如果是这样,怎么样? 如果没有,ASP? MVC? 无论如何,请就具体步骤给出一些指示。
谢谢
编辑:给出的响应是HTTP 200以及专有的XML响应。通常,数据流将是:
服务器将请求推送到客户端服务=>生成响应(通常涉及请求服务器执行某些操作的客户端)=>使用响应XML
返回HTTP 200答案 0 :(得分:4)
我建议使用WCF REST服务。您可以将其设置为接受具有单个字符串参数的POST请求。然后该字符串将包含您的XML,您可以将其加载到XDocument或类似于解析XML的内容。
这看起来像这样:
[OperationContract]
[WebInvoke(Method="POST")]
public string AcceptRequest(string Xml)
{
// Do something here
}
您没有真正指定您要对帖子做什么,或者您必须如何回复,因此根据这些要求,这可能不起作用。
Rick Strahl有一系列关于WCF REST服务的博客文章,您可以从这里开始:http://west-wind.com/weblog/posts/310747.aspx。
答案 1 :(得分:1)
我会看一下WCF,但不知道你在做什么的详细细节,我可以告诉你。
Windows Communication Foundation(WCF)是为托管服务和客户端之间的通信而创建的,因此它应该完全符合您的要求。
此处提供更多信息MSDN WCF
答案 2 :(得分:1)
我真的很想知道你为什么要在2010年做老式的Web服务(自定义XML而不是自定义HTTP端点)。那就是说,我认为在这种情况下你可能想要:
a)Ye olde plain IHttpHandler接受原始输入并返回响应 b)ASP.NET MVC应用程序在专用控制器上执行相同操作。
决定真的会受到你需要使用这个应用程序部署的其他东西的驱动,但要么会起作用。 Kickers在这里是响应是同步的,域是相对集中的。
我认为你可以使用WCF实现这一目标,但这会增加如此多的配置复杂性,这可能是最简单的操作,最好避免使用。
答案 3 :(得分:0)
我不相信你可以用WCF做到这一点,虽然我不是WCF的专家...如果是我,我会创建一个ASP.Net ashx文件来接收数据然后创建一个aspx页面你可以使用WebClient进行文件上传/发送,或者沿着那些行进行。
答案 4 :(得分:0)
当然你可以使用经典的asp.net,asp.net mvc和WCF这样做,但它引出了一个问题:你怎么需要运行它?特别是你发起的请求,当它启动时?
WCF专为通信场景而设计,因此它可能是您拥有的最灵活的选项。未提及的是响应您需要发起请求的人。
它可能是您向某人呈现的页面的一部分,在这种情况下,您还希望asp.net(mvc)启动该操作。可能需要将其作为服务运行,在这种情况下,您可以坚持使用仅限WCF的解决方案。可能需要从客户端应用程序启动,在这种情况下,您还需要该应用程序。
上面说过,如果你已经需要做asp.net(mvc)并且交换非常简单,你可以在不引入WCF的情况下完成。少学习。
最后,如果HTTP POST + xml不仅仅是一个自定义的东西,而是一个Web服务调用,您可能希望坚持使用WCF来接收请求。特别是它可能你需要其他WS部分,比如WS-Security。