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服务器之类的?
在RTD中添加服务器名:RTD("data,server_name,"sensor1","last")。文档:https://support.microsoft.com/en-us/kb/289150