首页 > 解决方案 > 构建项目后,WCF 方法被调用 2 次

问题描述

我创建了一个使用 WCF 服务的 Web 应用程序,

当我构建我的项目并运行时,我的 WCF 服务中的方法仅第一次执行了 2 次,但之后它可以正常工作,

这是我的代码,

FileInfo fi = new FileInfo(destFileName);
FileServer.ServiceClient fs = new FileServer.ServiceClient();
FileServer.RemoteFileInfo uploadRequestInfo = new FileServer.RemoteFileInfo();
using (System.IO.FileStream stream = new System.IO.FileStream(fi.FullName, System.IO.FileMode.Open, System.IO.FileAccess.Read))
{
    uploadRequestInfo.FileServerId = item.FileServerId;
    uploadRequestInfo.FileName = item.FileName;
    uploadRequestInfo.FileExtension = item.FileExtension;
    uploadRequestInfo.Length = fi.Length;
    uploadRequestInfo.FileByteStream = stream;
    fs.UploadFileStream(uploadRequestInfo.FileExtension, uploadRequestInfo.FileName, uploadRequestInfo.FileServerId, uploadRequestInfo.Length, stream);
}

我的 reference.cs 类

    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    DocPro.DMS.WebApp.FileServer.UploadFileStreamResponse DocPro.DMS.WebApp.FileServer.IService.UploadFileStream(DocPro.DMS.WebApp.FileServer.RemoteFileInfo request) {
        return base.Channel.UploadFileStream(request);
    }
    
    public void UploadFileStream(string FileExtension, string FileName, string FileServerId, long Length, System.IO.Stream FileByteStream) {
        DocPro.DMS.WebApp.FileServer.RemoteFileInfo inValue = new DocPro.DMS.WebApp.FileServer.RemoteFileInfo();
        inValue.FileExtension = FileExtension;
        inValue.FileName = FileName;
        inValue.FileServerId = FileServerId;
        inValue.Length = Length;
        inValue.FileByteStream = FileByteStream;
        DocPro.DMS.WebApp.FileServer.UploadFileStreamResponse retVal = ((DocPro.DMS.WebApp.FileServer.IService)(this)).UploadFileStream(inValue);
    }

我在我的项目中使用了 WCF 服务参考,

我的代码有什么问题吗,我在 stackoverflow 上看到了多个关于此的问题,但没有找到任何解决方案,

这是我看到的几篇文章,

WCF Completed Event 被多次调用

WCF 服务方法调用了两次

为 PerSession WCF 服务调用了两次静态构造函数

标签: c#wcf

解决方案


这已得到修复,实际上问题出在我的前端,因为我从调用相同 WCF 方法的 javascript 调用 2 个不同的控制器


推荐阅读