C# Wcf多服务读取文件

C# Wcf多服务读取文件,c#,wcf,file,C#,Wcf,File,我正在使用wcf实现一个使用多个服务的分布式应用程序 我的一个服务必须使用MSMQ绑定才能异步接收请求,这样在脱机时不会忽略请求。MSMQ绑定的问题是它只是单向的,因此我不能让方法在契约中返回。 因此,我必须使用wshttpbinding创建另一个端点 现在我有一个问题,它甚至可能与wcf服务无关 具有msmq绑定的服务写入另一个服务读取的文件。问题是,当第一个服务对文件进行更改时,我必须重新启动这两个服务,以便第二个服务读取这些更改 我正在使用以下命令从文件中写入信息: string file

我正在使用wcf实现一个使用多个服务的分布式应用程序

我的一个服务必须使用MSMQ绑定才能异步接收请求,这样在脱机时不会忽略请求。MSMQ绑定的问题是它只是单向的,因此我不能让方法在契约中返回。 因此,我必须使用wshttpbinding创建另一个端点

现在我有一个问题,它甚至可能与wcf服务无关

具有msmq绑定的服务写入另一个服务读取的文件。问题是,当第一个服务对文件进行更改时,我必须重新启动这两个服务,以便第二个服务读取这些更改

我正在使用以下命令从文件中写入信息:

string filename = "holder.txt";
if (!File.Exists(filename))
    File.Create(filename);
Stream stream = File.Open(filename, FileMode.Create);
BinaryFormatter bFormatter = new BinaryFormatter();
bFormatter.Serialize(stream, requests_list);
stream.Close();
我关闭了流,所以读取流时不应该从其他服务中看到所做的更改吗?使用:

string filename = "holder.txt";
if (!File.Exists(filename))
    return null;
Requests requests_list;
Stream stream = File.Open(filename, FileMode.Open);
BinaryFormatter bFormatter = new BinaryFormatter();
try
{
    requests_list = (Requests)bFormatter.Deserialize(stream);
}
catch (Exception)
{
    stream.Close();
    return null;
}
stream.Close();
return requests_list;
顺便说一句,这两个方法都在一个由两个服务共享的类中

提前谢谢