如何使用netTcp在IIS中为Tridion Core Service连接启动2660端口

时间:2015-06-30 09:47:16

标签: tridion tridion-core-services

我正在尝试使用核心服务脚本连接到Tridion,这是我的代码:

AdaptiveLL(*)

web.Config有以下内容:

public static SessionAwareCoreServiceClient Client;


Client = new SessionAwareCoreServiceClient("netTcp_2011");
Client.ClientCredentials.Windows.ClientCredential = new NetworkCredential(user, password);

我仍然收到此错误:

<system.serviceModel>
    <!-- Default/example WCF settings for Core Service. These settings should be copied into the host application's configuration file. -->
    <bindings>
      <!-- Default Core Service binding settings are provided here. These can be used as a starting point for further customizations. -->
      <basicHttpBinding>
        <binding name="basicHttp" maxReceivedMessageSize="10485760">
          <readerQuotas maxStringContentLength="10485760" maxArrayLength="10485760"/>
          <security mode="TransportCredentialOnly">
            <!-- For LDAP or SSO authentication of transport credentials, use clientCredentialType="Basic" -->
            <transport clientCredentialType="Windows"/>
          </security>
        </binding>
        <binding name="streamDownload_basicHttp" maxReceivedMessageSize="209715200" transferMode="StreamedResponse" messageEncoding="Mtom" sendTimeout="00:15:00">
          <security mode="TransportCredentialOnly">
            <!-- For LDAP or SSO authentication of transport credentials, use clientCredentialType="Basic" -->
            <transport clientCredentialType="Windows"/>
          </security>
        </binding>
        <binding name="streamUpload_basicHttp" maxReceivedMessageSize="209715200" transferMode="StreamedRequest" messageEncoding="Mtom" receiveTimeout="00:15:00">
          <security mode="None"/>
        </binding>
      </basicHttpBinding>
      <netTcpBinding>
        <binding name="netTcp" transactionFlow="true" transactionProtocol="WSAtomicTransaction11" maxReceivedMessageSize="2147483647">
          <readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647"/>
        </binding>
        <binding name="streamDownload_netTcp" maxReceivedMessageSize="2147483647" transferMode="StreamedResponse" sendTimeout="00:20:00"/>
        <binding name="streamUpload_netTcp" maxReceivedMessageSize="2147483647" transferMode="StreamedRequest" receiveTimeout="00:20:00"/>
      </netTcpBinding>
    </bindings>
    <client>     
      <!--Dev 2013   -->
      <endpoint name="netTcp_2011" address="net.tcp://localhost:2660/CoreService/2011/netTcp" binding="netTcpBinding" bindingConfiguration="netTcp" contract="Tridion.ContentManager.CoreService.Client.ISessionAwareCoreService"/>
      <endpoint name="streamDownload_netTcp_2011" address="net.tcp://localhost:2660/CoreService/2011/streamDownload_netTcp" binding="netTcpBinding" bindingConfiguration="streamDownload_netTcp" contract="Tridion.ContentManager.CoreService.Client.IStreamDownload"/>
      <endpoint name="streamUpload_netTcp_2011" address="net.tcp://localhost:2660/CoreService/2011/streamUpload_netTcp" binding="netTcpBinding" bindingConfiguration="streamUpload_netTcp" contract="Tridion.ContentManager.CoreService.Client.IStreamUpload"/>
      <!--  -->

    </client>
  </system.serviceModel>

注意: localhost也可以是CMS实例的IP。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:2)

好的,所以在我教育自己的时候,可以清楚地说错误target machine actively refused it localhost:2660清楚地说明了端口没有供您使用。

这两件事情确实如此:

  1. 确保您已在IIS中允许net.tcp
  2. 端口2660在Windows防火墙中打开了吗?

    运行netstat -tan以查看2660上是否有任何内容正在运行,如果没有,则无法访问它。

  3. 此外,如果您在本地系统或其他服务器上运行代码,如果netTcp无效,请尝试使用wsHttpBasicHttp(前提是您拥有这些绑定)您的服务器核心服务的web.config)

答案 1 :(得分:1)

Core Service作为Windows服务运行,而不是从IIS运行。打开Windows服务并确保Tridion Content Manager服务主机正在运行。