是否可以从 jquery 调用 wcf net.pipe://<<hostname>>?

Posted

技术标签:

【中文标题】是否可以从 jquery 调用 wcf net.pipe://<<hostname>>?【英文标题】:Is it possible to call wcf net.pipe://<<hostname>> from jquery? 【发布时间】:2016-08-01 17:46:55 【问题描述】:

我有一个场景:-

像 Test.html 这样的页面托管在服务器上,并且该页面具有 jquery ajax 调用,并且该 jquery ajax 调用用于调用一个 REST 服务和 localhost 中的该服务主机。

这是托管在本地机器上的服务,因此页面会自动调用托管在本地机器上的服务。

当我们使用 Web API 和 WCF REST webhttps 绑定服务时,这个高级是可能的,但我希望来自 net.pipe 绑定

所以我有两个问题如下

是否可以为 net.pipe://> 创建 WCF 休息服务?

如果是,那么是否可以从 html jquery ajax 调用创建使用 wcf net.pipe://> 服务的客户端?

如果以上两种情况可能,请分享链接或示例。

【问题讨论】:

【参考方案1】:

使用 JQuery?

没有。

使用 DotNet 客户端(是)。 (示例如下)。

JQuery 是“网络流量”的抽象。因此,您的 WCF 端点需要是 Web 友好的端点。

命名管道与“互联网”无关。

“主机”(服务器)

    <service name="Wcf.BusinessServices.DepartmentBusinessService">


        <endpoint
              address  = "net.pipe://localhost/LocalDepartmentBusinessService"
              binding  = "netNamedPipeBinding" bindingConfiguration="NamedPipeBindingName1"
              contract = "ServiceInterfaces.Managers.IDepartmentManager"    >
        </endpoint>

    </service>

“客户”

<client>

  <endpoint name="NamedPipeEndPointName"
    address  = "net.pipe://localhost/LocalDepartmentBusinessService"
    binding  = "netNamedPipeBinding" bindingConfiguration="NamedPipeBindingName1"
    contract = "ServiceInterfaces.Managers.IDepartmentManager"  >
  </endpoint>

存在于双方(主机/服务器和客户端)

<bindings>


  <netNamedPipeBinding>
    <binding name="NamedPipeBindingName1"
                 hostNameComparisonMode="StrongWildcard"
                 maxBufferSize="9000000"
                 maxConnections="10"
                 maxReceivedMessageSize="9000000"
                 receiveTimeout="00:30:00"
                 transactionFlow="false">
      <security mode="Transport">
      </security>
    </binding>
  </netNamedPipeBinding>

【讨论】:

谢谢,只是想知道有没有可能。

以上是关于是否可以从 jquery 调用 wcf net.pipe://<<hostname>>?的主要内容,如果未能解决你的问题,请参考以下文章

从jquery发送数据到wcf Web服务

从 jQuery 调用 WCF 服务库的问题

使用 POST 方法从 jQuery Ajax 调用 WCF 服务

从 jquery 调用 wcf rest 服务不起作用

从 Jquery 调用的 WCF:不允许的方法

从 JQuery 调用 WCF 服务:跨域 OPTIONS 请求给出错误 400