我正在尝试使用核心服务脚本连接到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。
有人可以帮忙吗?
答案 0 :(得分:2)
好的,所以在我教育自己的时候,可以清楚地说错误target machine actively refused it localhost:2660
清楚地说明了端口没有供您使用。
这两件事情确实如此:
端口2660在Windows防火墙中打开了吗?
运行netstat -tan
以查看2660上是否有任何内容正在运行,如果没有,则无法访问它。
此外,如果您在本地系统或其他服务器上运行代码,如果netTcp
无效,请尝试使用wsHttp
或BasicHttp
(前提是您拥有这些绑定)您的服务器核心服务的web.config)
答案 1 :(得分:1)
Core Service作为Windows服务运行,而不是从IIS运行。打开Windows服务并确保Tridion Content Manager服务主机正在运行。