2015-09-08 7 views
6

पर भेजने में त्रुटि मैं बाकी सेवा (सर्वोसेकैक का उपयोग करके) में बड़ी एक्सेल फ़ाइल भेजने की कोशिश कर रहा हूं।सेवा (12 एमबी) एक्सेल फ़ाइल को HttpWebRequest का उपयोग करते हुए सर्विस सर्विसस्टेस्टैक सेवा

ग्राहक और सर्वर (Servicestack सेवा) अनुप्रयोग विभिन्न सर्वर पर तैनात किए जाते हैं। (8 एमबी आकार)

मैं एक्सेल फाइल को अपलोड करने के लिए ग्राहक के पक्ष में निम्नलिखित कोड का उपयोग कर रहा

कोड ऊपर से

http://www.codeproject.com/Articles/501608/Sending-Stream-to-ServiceStack

HttpWebRequest client = (HttpWebRequest)WebRequest 
       .Create(ConfigurationManager 
       .AppSettings["applicationUrl"] 
        + @"/servicename/" 
        + fileUpload.FileName 
        + @"/" + FileType + @"/" 
        + Utility.UserName + @"/" 
        + Utility.EmployerID + @"/" 
        + UploadedFrom); 

client.Method = WebRequestMethods.Http.Post; 

////the following 4 rows enable streaming 
    client.AllowWriteStreamBuffering = false; 
    client.SendChunked = true; 
    client.ContentType = "multipart/form-data;"; 
    client.Timeout = int.MaxValue; 
    // client.KeepAlive = false; 
    //client.ProtocolVersion = HttpVersion.Version10; 
//client.ContentLength = 0; 
//client.Timeout = Timeout.Infinite; 
//client.AllowWriteStreamBuffering = true; 
Stream stream = fileUpload.InputStream; 

if (stream.CanRead) 
{ stream.Copy(client.GetRequestStream()); 
} 

    var response = new StreamReader(client.GetResponse().GetResponseStream()).ReadToEnd(); 

लिया ठीक काम करता है जब फ़ाइल अपलोड होने में है 2-3 एमबी जब फ़ाइल का आकार 8 एमबी के बारे में बड़ा होता है तो यह त्रुटि फेंकता है।
जबकि यह डिबगिंग त्रुटि

System.Net.WebException was caught 
    HResult=-2146233079 
    Message=The remote server returned an error: (500) Internal Server Error. 
    Source=System 
    StackTrace: 
     at System.Net.HttpWebRequest.GetResponse() 
     at Myproject.Web.Controllers 
        .Employer.FileUploadController 
        .Upload(FileUploadViewModel fileUploadViewModel 
     ,HttpPostedFileBase fileUpload 
     ,String DataFileType 
     ,String UploadedFrom) 
    in d:\MyProject\projNewArch\Controllers\Employer\FileUploadController.cs:line 262 
    InnerException: 

मैं सेटिंग मान संबद्ध के रूप में देखा जा सकता है जो बदल रहा है की कोशिश की है निम्नलिखित मुझे देता है।

समस्या क्या हो सकती है? कृपया

अपडेट 1: मेरे पास सर्वर पर आईआईएस 8.5 है इसलिए मुझे लगता है कि फ़ाइल का आकार (8 एमबी) मुद्दा नहीं हो सकता है। क्या मुझे अभी भी POST

अद्यतन 2: समाधान मिला: पर बड़ी आकार फ़ाइल भेजने की अनुमति देने के लिए web.config में कुछ सेटिंग जोड़ने की आवश्यकता है। maxAllowedContentLength जोड़ना और maxRequestLength चाल करता है। कृपया टिप्पणी अनुभाग में स्मार्टडेव द्वारा प्रदान किए गए लिंक की जांच करें

+1

को अपलोड करने की अनुमति देगा: http://stackoverflow.com/questions/2880722/is-http -पोस्ट-असीमित – Ulric

+1

'(500) आंतरिक सर्वर त्रुटि 'आपको * सर्वर * निशान देखने की आवश्यकता है, और * सर्वर * डीबग करें। –

+0

@ulric मैंने qustion को अद्यतन किया है। क्या आपको लगता है कि यह मुद्दा हो सकता है? – amol

उत्तर

1

आपको अभी भी अपनी web.config फ़ाइल को संपादित करने की आवश्यकता है। यह इस तरह दिखना चाहिए:

<system.webServer> 
<security> 
    <requestFiltering> 
    <requestLimits maxAllowedContentLength="10485760" /> 
    </requestFiltering> 
</security> 

यह इस कड़ी प्रासंगिक हो सकती हैं 10 एमबी

संबंधित मुद्दे