C# 关于Web服务或相关技术的建议

C# 关于Web服务或相关技术的建议,c#,.net,xml,web-services,remoting,C#,.net,Xml,Web Services,Remoting,我正在开发一个系统,该系统必须能够通过internet从其他公司的外部系统接收XML消息(最好没有SOAP信封)。我不确定外部系统是用什么技术编写的。 外部公司的开发人员必须创建XML发送功能。我想尽量减少他们的努力。 WCF是一个不错的选择吗 操作系统将是带有IIS 5.1的Windows XP或带有IIS 6.0的Windows Server 2003。 .NET Framework是3.5 谢谢。您可以使用WCF,但也可以使用Web服务。就通过HTTP(甚至TCP等其他协议)实现服务而言,

我正在开发一个系统,该系统必须能够通过internet从其他公司的外部系统接收XML消息(最好没有SOAP信封)。我不确定外部系统是用什么技术编写的。 外部公司的开发人员必须创建XML发送功能。我想尽量减少他们的努力。 WCF是一个不错的选择吗

操作系统将是带有IIS 5.1的Windows XP或带有IIS 6.0的Windows Server 2003。 .NET Framework是3.5


谢谢。

您可以使用WCF,但也可以使用Web服务。

就通过HTTP(甚至TCP等其他协议)实现服务而言,WCF是一个非常高的抽象级别。你的情况有两种选择

  • WCF REST服务:因为您希望在HTML负载中传递自定义XML。这是一个选项,但只有在您可以将服务可视化为面向资源的情况下才可以
  • 自定义HTTP处理程序:在ASP.NET的各个组件的整个抽象堆栈中,这些处理程序的级别非常低。这允许在实现通过HTTP传递的自定义XML时具有更大的灵活性,但与WCF相比需要更多的代码

  • 可以使用AJAX使用jQuery

    $.ajax( {
      type:'Get',
      url:'http://mysite.com/mywebservice',
      success:function(data) {
        alert(data);
      }
    })
    
    相关示例:


    这取决于您的业务。如果他们需要调用您的服务,您可以创建WCF或WebService(概念上完全相同),但他们可能需要更改一些东西来调用您的服务。如果你走这条路,我可以建议你使用一个SOAP信封来验证发送者的身份,将某种令牌放在标题中。另一种解决方案(如果XML非常大,我们说的是包含所有新产品中最少一种的XML),您可以使用FTP从中提取XML文件。

    选择一种技术需要更多细节。 其中一些基本要素是: 你的预算是多少? 你现在有什么资源? 谁将负责维护,RFC? 您的“产品”将被呼叫进行数据通信,还是您的产品需要呼叫他们进行数据通信

    要处理/生成XML,自由和简单的方法是,例如JAVA、PHP(以及许多其他方法)