我即將實現使用WCF的FileService。它應該能夠通過提供文件內容本身和文件名來上傳文件。目前的ServiceContract如下所示取消帶有大量數據的WCF呼叫?
[ServiceContract]
public interface IFileService
{
[OperationContract]
[FaultContract(typeof(FaultException))]
byte[] LoadFile(string relativeFileNamePath);
[OperationContract]
[FaultContract(typeof(FaultException))]
void SaveFile(byte[] content, string relativeFileNamePath);
}
它正常工作的那一刻,但我希望能夠降低使用這個的FileService我的應用程序的網絡負載。只要用戶打開我的應用程序的特定部分,我就需要提供許多文件,但只要用戶在應用程序中進一步瀏覽,我可能會取消其中的一些文件。由於許多我的文件大小在50到300 MB之間,傳輸文件需要幾秒鐘的時間(應用程序可能運行在非常慢的網絡上,可能需要一分鐘)。
澄清並概述與所有其他WCF問題的區別:具體問題是在客戶端< - >服務器之間提供數據是瓶頸,而不是服務本身的性能。正在改變流式WCF服務的界面是否合理?