[英]WCf service file download
我正在創建WCF服務,該服務將下載和上傳xml文件。 嘗試將文件下載到客戶端時,出現以下錯誤:
“響應消息的內容類型text / html; charset = utf-8與綁定的內容類型不匹配(multipart / related; type = \\“ application / xop + xml \\”)。如果使用自定義編碼器,確保正確實現IsContentTypeSupported方法。響應的前1024個字節為:'\\ nhttp://www.w3.org/1999/xhtml \\“> \\ n \\ nIIS 7.0詳細錯誤-500.19-內部服務器錯誤\\ n \\ n
我正在使用basicHTTPBinding作為綁定協議。 我的Web服務當前托管在Vista Home Premium下IIS7.0上我自己的PC上。 我正在使用的服務中的下載代碼如下:
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很挑剔。
您在IIS中所做的幾乎所有更改也可以通過web.config反映出來,因此請記住您對IIS所做的調整,並將這些更改反映在web.config中。 這樣可以確保問題不會再次出現(例如,在另一個構建之后)。
如果您的項目是“ WCF服務應用程序”,那么應該登錄到承載該服務的服務器,並從瀏覽器中查看.svc文件,從而可以看到更詳細的錯誤消息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.