我使用this example为jQuery创建了一个WCF服务 我的WCF目前正在使用jQuery for PhoneGap app我可以在C#中的其他应用程序中使用相同的WCF服务。
答案 0 :(得分:2)
可以为不同的应用程序使用相同的WCF服务。 为同一个WCF服务创建多个绑定和多个端点
多个绑定
<bindings>
<netTcpBinding>
<binding name="netTcpBindingConfiguration" receiveTimeout="infinite" sendTimeout="10.00:00:00" maxBufferPoolSize="1073741824" maxBufferSize="1073741824" maxReceivedMessageSize="1073741824">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
</binding>
</netTcpBinding>
<webHttpBinding>
<binding name="webHttpBindingConfiguration" receiveTimeout="00:10:00" sendTimeout="10.00:00:00" maxBufferPoolSize="1073741824" maxReceivedMessageSize="1073741824">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
</binding>
</webHttpBinding>
</bindings>
多个端点 - 暴露两个端点,一个使用 webHttpBinding ,另一个使用 netTcpBinding
请注意端点的不同,即使用 behaviorConfiguration =“EndpointBehavior”。使用webHttpBinding的端点通过JSON公开数据。
<services>
<service behaviorConfiguration="behavior" name="WCFCallbackTry.Service1">
<endpoint address="http://localhost:8018/Service1.svc" bindingConfiguration="webHttpBindingConfiguration" binding="webHttpBinding"
contract="WCFCallbackTry.IService" name="HttpEndPoint" behaviorConfiguration="EndpointBehavior"/>
<endpoint address="net.tcp://localhost:8004/Service1.svc" bindingConfiguration="netTcpBindingConfiguration" binding="netTcpBinding"
contract="WCFCallbackTry.IService" name="NetTcpEndPoint"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8018/Service1.svc"/>
</baseAddresses>
</host>
</service>
</services>
为了使用Jquery公开WCF,必须使用下面的行为,如您引用的链接中所示。
<endpointBehaviors>
<behavior name="EndpointBehavior">
<webHttp/>
</behavior>
使用netTCPBinding的端点可以使用C#从客户端应用程序使用,而webHttpBinding可以使用JQuery使用。
与上述类似的配置可以与不同或相同类型的绑定一起使用,同时暴露不同的端点。
希望这有帮助