使用Metro App与Console App时,WCF服务参考不同

时间:2014-12-17 20:15:25

标签: c# wcf microsoft-metro

我有一个服务,它有以下方法将文件上传到服务器:

public void uploadFile(RemoteFileInfo request)
{
    FileStream targetStream = null;
    Stream sourceStream = request.FileByteStream;

    //Tempdir
    string uploadFolder = @"C:\upload\";

    string filePath = Path.Combine(uploadFolder, request.FileName);
    using (targetStream = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.None))
    {
        // Read from the input stream in 65000 byte chunks
        const int bufferLen = 65000;
        byte[] buffer = new byte[bufferLen];
        int count = 0;
        while ((count = sourceStream.Read(buffer, 0, bufferLen)) > 0)
        {
            //save to output stream
            targetStream.Write(buffer, 0, count);
        }
        targetStream.Close();
        sourceStream.Close();
    }
}

当我制作测试控制台应用并添加了对此服务的服务引用时,我可以使用myServiceProxy.uploadFile(RemoteFileInfo request)来调用它。

问题在于,当我尝试向地铁应用项目添加服务参考时,我无法拨打uploadFile并且只能拨打uploadFileAsync我无法使用甚至实施了。

有没有办法在Metro应用上使用wcf服务的常规uploadFile方法?

其中一个主要问题是我为MessageContract设置了RemoteFileInfo,其中包含2个邮件标题和1个MessageBodyMember,我甚至无法在都市应用上访问我可以在控制台应用程序上访问得很好。

0 个答案:

没有答案