WCF服务器没有向另一台计算机上的excel发送数据

本文关键字:计算机 一台 excel 数据 服务器 WCF | 更新日期: 2023-09-27 18:16:14

我有一个从传感器获取数据的c#应用程序。

它有以下代码:(不幸的是不是我写的,也没有文档,老开发人员早就离开了这个国家)。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
namespace Client
{
    [ServiceContract]
    public interface IDataRequest
    {
        [OperationContract]
        string query(string instr, string attr);
    }
    public class DataRequest : IDataRequest
    {
        public string query(string symbol, string attr)
        {
            //data_set is a simple dictionary in another file
            Data data = MAIN.data_set[symbol].Value;
            return data.last;//numeric value of sensor reading
        }
    }
    class WCFServer
    {
        ServiceHost host = null;
        public void open()
        {
            host = new ServiceHost(
                typeof(DataRequest),
                new Uri[]{new Uri("net.pipe://localhost")});
            host.AddServiceEndpoint(typeof(IDataRequest), new NetNamedPipeBinding(), "DataRequest");
        try
        { 
            host.Open();
        }
        catch (AddressAlreadyInUseException) { }
        }
        public void close()
        {
        try
        {
            host.Close();
        }
        catch (CommunicationObjectFaultedException) { }
        }
    }
}

然后在Excel中,我可以在单元格中放置:=RTD("data",,"sensor1","last"

在一台电脑上一切正常。

然而,当我将应用程序和excel文件移动到另一台计算机时,没有任何工作,而不是看到数据值流到excel中,我只看到#N/A。客户端应用程序本身在另一台计算机上工作,所以我知道c#代码很好,只是与从c#到Excel的WCF链接有关。

还有别的事吗?注册WCF服务器之类的?

WCF服务器没有向另一台计算机上的excel发送数据

在RTD中添加服务器名:RTD("data,server_name,"sensor1","last")。文档:https://support.microsoft.com/en-us/kb/289150