C# WCf服务文件下载
我正在创建WCF服务,该服务将下载和上载xml文件。尝试将文件下载到客户端时,会出现以下错误: “响应消息的内容类型text/html;charset=utf-8与绑定的内容类型不匹配(multipart/related;type=\“application/xop+xml\”)。如果使用自定义编码器,请确保正确实现IsContentTypeSupported方法。响应的前1024个字节为:”\nhttp://www.w3.org/1999/xhtml\">\n\n是7.0详细错误-500.19-内部服务器错误\n\n 我使用basicHTTPBinding作为绑定协议。我的Web服务目前在Vista Home Premium下的IIS7.0上托管在我自己的pc上。我正在使用的服务中的下载代码如下:C# WCf服务文件下载,c#,wcf,C#,Wcf,我正在创建WCF服务,该服务将下载和上载xml文件。尝试将文件下载到客户端时,会出现以下错误: “响应消息的内容类型text/html;charset=utf-8与绑定的内容类型不匹配(multipart/related;type=\“application/xop+xml\”)。如果使用自定义编码器,请确保正确实现IsContentTypeSupported方法。响应的前1024个字节为:”\nhttp://www.w3.org/1999/xhtml\">\n\n是7.0详细错误-500.19
public Stream Download( string path )
{
try
{
using (FileStream stream = new FileStream(path, FileMode.Open, FileAccess.Read))
{
return stream;
}
}
catch (Exception ex)
{
string error = ex.Message;
return null;
}
}
我的客户机上下载该文件的代码如下,仅使用普通测试文件:
System.IO.FileStream fs;
try
{
fs = (System.IO.FileStream)client.Download(@"C:\UploadedFiles\Test.txt");
byte[] arr = new byte[fs.Length];
int read;
do
{
read = fs.Read(arr, 0, arr.Length);
} while (read != arr.Length);
Console.WriteLine(ASCIIEncoding.ASCII.GetString(arr));
Console.ReadLine();
}
catch (Exception Ex)
{
string error = Ex.Message;
string inner = Ex.InnerException.ToString(); ;
Console.WriteLine("Exception: {0}/nInner Exception: {1}",error,inner);
Console.ReadLine();
}
有人请帮帮我,我不明白怎么了
如果您需要更多数据来帮助我解决问题,也请告诉我
非常感谢,
T该“内部服务器错误”应提示您是服务器“提供”服务时出现问题。你的代码甚至没有机会执行,所以它不是罪魁祸首。您需要确保IIS配置正确
首先验证您的身份验证模式是否正确。如果您正在使用模拟,还需要激活该功能。如果您一直在使用ASP.NET开发服务器(当您开始调试时,它会自动在您的计算机上启动),那么您应该知道,在配置方面它是相当松散的。他很挑剔
您在IIS中所做的几乎所有更改都可以通过web.config反映出来,因此请记住您对IIS所做的调整,并在web.config中反映这些更改。这确保了问题不会再次出现(比如,在另一次构建之后)
如果您的项目是“WCF服务应用程序”,那么您应该能够通过登录到承载服务的服务器并从浏览器中查看.svc文件来查看更详细的错误消息。您能帮我配置它吗?我在这方面没有太多经验。我从未在IIS7.0上运行WCF服务。也许你知道一个很好的教程来帮助我配置它吗?转到:我得到这个错误:HTTP错误401.2-未经授权由于无效的身份验证标题,你无权查看此页面。我刚刚编辑并添加了更多信息。登录服务器并从浏览器查看.svc文件,您将收到详细的错误消息。如果错误信息仍然让你困惑,只需将其输入谷歌,你可能会很快找到答案。不断重复这些步骤,直到它工作为止。:)这是在身份验证模式下我的web.config文件中所说的:啊,看起来你没有托管真正的WCF服务。.aspx文件表示旧式的ASP.NET Web服务。