gpt4 book ai didi

c# - WCf服务文件下载

转载 作者:太空宇宙 更新时间:2023-11-03 14:34:43 24 4
gpt4 key购买 nike

我正在创建将下载和上传 xml 文件的 WCF 服务。尝试将文件下载到客户端时,出现以下错误:

“响应消息的内容类型text/html;charset=utf-8与绑定(bind)的内容类型不匹配(multipart/related;type=\”application/xop+xml\”)。如果使用a自定义编码器,请确保正确实现 IsContentTypeSupported 方法。响应的前 1024 个字节为:'\nhttp://www.w3.org/1999/xhtml\">\n\nIIS 7.0 详细错误 - 500.19 -内部服务器错误\n\n

我使用 basicHTTPBinding 作为我的绑定(bind)协议(protocol)。我的网络服务目前托管在我自己的 Vista Home Premium 下的 IIS7.0 电脑上。我使用的服务中的下载代码如下:

 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();
}

有人请帮帮我,我不明白哪里出了问题?

如果您需要更多数据来帮助我解决问题,也请告诉我。

非常感谢,

最佳答案

“内部服务器错误”应该提示您是服务器在“提供”服务时出现问题。您的代码甚至没有机会执行,所以它不是罪魁祸首。您需要确保 IIS 配置正确。

首先验证您的身份验证模式是否正确。如果您正在使用模拟,您还需要激活它。如果您一直在使用 ASP.NET 开发服务器(当您开始调试时会在您的机器上自动启动的服务器),那么您应该知道它在配置方面相当松散。 IIS 很挑剔。

您在 IIS 中所做的几乎所有更改也可以通过您的 web.config 反射(reflect)出来,因此请记住您对 IIS 所做的调整并将这些更改反射(reflect)在您的 web.config 中。这确保问题不会再次出现(例如,在另一个构建之后)。

如果您的项目是“WCF 服务应用程序”,那么您应该能够通过登录到您托管服务的服务器并从浏览器查看 .svc 文件来查看更详细的错误消息。

关于c# - WCf服务文件下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1516322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com