-1

我有两列,Entrytext_image,在一个表中。当循环查看数组中的所有行时,我可以获得结果,但我希望它添加/images到文本以img. 这是为了将具有“img”(表示行内的文本)的行定向到正确的文件夹。可能需要进一步解释来说明原因,但我不会深入探讨。

while($row = mysql_fetch_array( $result3 )) {
    echo "<div class=\'entry\'>";
    (I want to add an echo "/images" before the rows that start with "img")

    echo $row[\'text_image\'];
    echo "</div>";
}

先感谢您


多次调用后 WCF 中的 TimeoutException

也许我不正确地实现 WCF,但是NetNamedPipedBindings在进行多次调用后,我似乎在使用时遇到了 WCF 异常。

这是我正在做的事情的高水平。基本上,我正在处理一个 out of proc exe 并使用 WCF 命名管道来回通信。我通过这个属性让我的主机保持打开状态:

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, 
    ConcurrencyMode = ConcurrencyMode.Multiple)]

然后,在我的客户端中,我创建了一个static DuplexChannelFactory实例化一次,然后根据需要通过以下方式使用:

channelFactory.CreateChannel().MakeCall();

我添加了一个 Ping 方法只是为了确保主机正常工作(因为主机会发回我们不想在不知道的情况下错过的事件)。此 Ping 方法每 5 秒运行一次,并且只返回一个 true。但是,在运行了几分钟后,我得到了一个TimeoutException. 这是我的异常跟踪:

服务器堆栈跟踪:在 System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen(TimeSpan timeout) 在 System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) 在 System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout)
在 System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) 在 System.ServiceModel.Channels.ServiceChannel.CallOpenOnce.System.ServiceModel.Channels.ServiceChannel.ICallOnce.Call(ServiceChannel channel, TimeSpan timeout) 在 System.ServiceModel.Channels。 ServiceChannel.CallOnceManager.CallOnce(TimeSpan timeout, CallOnceManager cascade) at System.ServiceModel.Channels.ServiceChannel.EnsureOpened(TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins , Object[] outs, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs) at System.ServiceModel.Channels.ServiceChannelProxy。InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

我打开了 JustDecompile,发现这个错误很可能发生在这里:

connection = this.connectionPoolHelper.EstablishConnection(timeout)

但是,我看不出为什么在之前工作了几次 ping 之后这会超时?我需要设置什么设置才能使这个无限和/或我是否有另一种方法可以从客户端或服务器端实现这个 WCF 事件服务器(它也用于按需处理)?

更新

在我开始看到呼叫尝试并且没有返回之前,我做了大约 6 次 ping。

4

1 回答 1

2
$images = (substr($row['text_image'], 0, 3) == 'img') ? "/images" : "";
echo $images . $row['text_image'];

这将检查 的前 3 个字母$row['text_image']是否被img设置$images为,/images否则将其留空。这将在循环内每次更新。

于 2012-05-02T20:17:48.447 回答