簡體   English   中英

WCf服務文件下載

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM