每当尝试连接到我自己的wcf时,我都会收到超时异常。

这是配置我有:

<configuration>
  <system.serviceModel>        
    <behaviors>
        <serviceBehaviors>
            <behavior name="MetaBehaviour">
                <serviceMetadata />
            </behavior>
        </serviceBehaviors>
    </behaviors>
    <services>
        <service behaviorConfiguration="MetaBehaviour" name="WcfStreaming.LargeDataService">
            <clear />
            <endpoint address="net.tcp://localhost/LargeData" binding="netTcpBinding"
                name="Tcp" contract="WcfStreaming.ILargeDataService" listenUriMode="Explicit" />
            <endpoint address="net.tcp://localhost/LargeData/mex" binding="mexTcpBinding"
                name="TcpMex" contract="IMetadataExchange" listenUriMode="Explicit" />
            <endpoint address="http://localhost/wcfstreaming" binding="basicHttpBinding"
                bindingConfiguration="" name="BasicHttp" contract="WcfStreaming.ILargeDataService" />
        </service>
     </services>
  </system.serviceModel>
</configuration>

这里是托管代码:

 host = new ServiceHost(typeof(WcfStreaming.LargeDataService),
           new Uri[] { HttpUri, TcpUri });

 host.Open();

 var factory = new ChannelFactory<WcfStreaming.ILargeDataService>(new NetTcpBinding(), new EndpointAddress(TcpUri)); //  Hnew NetTcpBinding(), new EndpointAddress(TcpUri));

 srvChannel = factory.CreateChannel();

 using (OpenFileDialog dlg = new OpenFileDialog())
 {
    if (dlg.ShowDialog() == DialogResult.OK)
    {
       Stream str = srvChannel.GetFile(dlg.FileName); //Exception here

       StreamReader sr = new StreamReader(str);
       string bf = sr.ReadToEnd();
       File.WriteAllText(@"C:\test", bf);
    }
 }

我讨厌:

发送到net.tcp:// localhost / LargeData的此请求操作未在配置的超时(00:01:00)内收到回复。 分配给此操作的时间可能是较长超时的一部分。 这可能是因为服务仍在处理操作,或者因为服务无法发送回复消息。 请考虑增加操作超时(通过将通道/代理强制转换为IContextChannel并设置OperationTimeout属性)并确保该服务能够连接到客户端。

===============>>#1 票数:2 已采纳

你可以通过在app.config文件中放置以下内容来添加wcf跟踪(调用你的wcf服务的项目,而不是wcf服务app.config文件)。 跟踪转储到c:\\ wcf.svclog

<system.diagnostics>
      <sources>
        <source name="System.ServiceModel"
                switchValue="Information, Warning, ActivityTracing, Error, Critical"
                propagateActivity="true">
          <listeners>
            <add name="traceListener"
                type="System.Diagnostics.XmlWriterTraceListener"
                initializeData= "c:\wcf.svclog" />
          </listeners>
        </source>
      </sources>
    </system.diagnostics>

此外,如果它在VS下运行,但不在其外部,则表示您创建的服务主机与app.config文件中定义的服务端点不匹配(同样是调用wcf的项目的配置文件,而不是wcf的应用程序。配置文件)。 或者,servicehost实例化代码永远不会运行。

它在VS下运行因为VS默认情况下创建一个WCF调试主机,它加载你的wcf服务并公开服务和MEX url。 如果应用程序崩溃,有时这个调试辅助工具会继续运行。 该过程是wcfsvchost.exe。

“Mex”允许您获取服务上的元数据,因此最终程序不需要它。

  ask by Nickolodeon translate from so

未解决问题?本站智能推荐:

2回复

使用netTCP协议实现WCF

成功获得WCF服务和客户端可以使用Http进行对话之后,我现在尝试将其切换为netTcp,以便可以对通信进行加密。 但是我很难在此协议下建立连接。 更改了服务上的App.config文件并删除了客户端项目中的服务引用后,我试图重新添加服务引用。 单击“发现”可找到服务,但在地址为htt
1回复

在同一端口问题上使用netTcp协议在WAS IIS中托管的多个WCF服务

其中一项服务运行良好,但另一项服务始终会引发套接字超时“强制关闭”错误。 我在这两个服务上都设置了portSharingEnabled ='true',并且打开了netTcp端口共享Windows服务。 我对此进行了大量研究,但找不到原因,有什么建议吗? 由于旧的系统设置,也不
1回复

调试netTcp WCF绑定

我有一个netTcp WCF服务在远程计算机上的Windows服务中运行。 Windows服务以mydomain\\u2\u003c/code>用户身份运行 Windows服务托管的WCF的.config文件是 现在当我跑步 svcutil.exe http://
2回复

WCF-在没有IIS7的情况下,可以在单一设置中使用SSL的NetTcp和basicHttp

是否可以同时拥有 NetTcp绑定的端点,以及 SSL的basicHttp绑定端点 在单个部署中,使用Windows Service还是IIS6?
2回复

将WCF绑定从wsHttp更改为netTcp

我想将WCF服务WsHttpBinding更改为NetTcpBinding。 以前,我已经在IIS7本地计算机上设置了Service,并且可以与WsHttpBinding一起使用。 此服务的代理具有一个CustomBehavior,它在发送请求消息之前添加了两个消息头 当我将绑定更
2回复

将WCF服务绑定从basichttp更改为nettcp

将WCF服务的绑定从basichttp更改为nettcp的最简单方法是什么? 当然,您不必手动编辑文件,因为存在太多的错误范围。
1回复

MonoTouch是否支持wcf nettcp绑定?

在Silverlight中,它可以加载程序集System.ServiceModel.Nettcp,但在MonoTouch中我找不到该程序集。 MonoTouch是否支持WCF nettcp绑定?
2回复

WCF服务基地址Http和netTcp

我在WCF服务配置文件中定义了两个基址: 虽然我已将端点绑定设置为netTcpBinding, 我只能使用基地址访问我的WCF服务: 而不是 如何使用netTcp地址进行服务访问?
1回复

WCF中的证书无效forB netTCP

我正在尝试让WCF服务在我的本地环境中使用基于证书的加密,以便当它在实时环境中使用时可以与不同域中的计算机通信。 在尝试实施安全性之前,我已经使服务正常运行,因此我确信故障不在服务中。 我使用makecert.exe生成了一些证书。 首先,我创建了两个我称为WCFclient和WCFS
1回复

WCF NetTcp绑定-将TransferMode从缓冲更改为流

我们有一个WCF自托管服务器,还有几个Winforms和Web客户端都使用NetTcp绑定和TransferMode = Buffered。 我们有各种各样的DataContracts,使用了很多带有任意对象作为参数的方法。 现在,我们必须实现一个接受Stream作为参数的服务。 如果