Forum
Merhaba arkadaşlar,
uploadFile adında bir web servis metodum var.Benden base64str olarak parametre alıyo ve aldığı dosyayı belirtiğim adrese dosya olarak kaydediyo.Şöyle bir sorunum var 200 kb 250 kb sınırındaki herhangi bir dosyamı (zip,jpg,txt) upload etmede sıkıntı yaşamıyorum ama 300k'den daha büyük dosyalarda upload işlemi gerçekleştirdiğimde server üzerinde bir process sürekli işlem yapmaya çalışıyor.
Bu process Image Name : w3wp.exe, UserName : ASP.Net v4.0, CPU : 50, Description : IIS Worker Process
Sürekli olarak takılı kalıyor ve bazen CPU %100'e vuruyor.
Fakat :
Asp.Net sayfamdan post edemediğim 350 kb ve daha büyük boyutlu dosyaları web servisini browserden açıp,parametreleri(path,base64Str vs.) string olarak girdiğimde 1 saniyeden daha az bir sürede upload işlemini gerçekleştiriyor.
CODE :
* encodedFile = Base64Str formatında
string postString = string.Format("userName={0}&userVendor={1}&vendorKey={2}&base64FileStr={3}&guid={4}&fileName={5}", "kadi", "şifre", "key", encodedFile, guid, strFilename);
string localHttpPostUrl = userGatewayAddress + "uploadFile";
ASCIIEncoding encoding = new ASCIIEncoding();
Stream newStream = null;
HttpWebResponse response = null;
Stream streamResponse = null;
StreamReader streamRead = null;
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(localHttpPostUrl);
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "POST";
byte[] buffer = Encoding.UTF8.GetBytes(postString);
request.ContentLength = buffer.Length;
newStream = request.GetRequestStream();
newStream.Write(buffer, 0, buffer.Length);
newStream.Close();
response = (HttpWebResponse)request.GetResponse();
streamResponse = response.GetResponseStream();
streamRead = new StreamReader(streamResponse);
Char[] readBuffer = new Char[256];
ret = string.Empty;
int totalCharCount = 0;
int count = streamRead.Read(readBuffer, 0, 256);
while (count > 0)
{
totalCharCount += count;
ret += new String(readBuffer);
count = streamRead.Read(readBuffer, 0, 256);
}
ret = ret.Substring(0, totalCharCount);
return ret;
}
catch (Exception x)
{
return x.Message;
}
Merhaba arkadaşlar,
uploadFile adında bir web servis metodum var.Benden base64str olarak parametre alıyo ve aldığı dosyayı belirtiğim adrese dosya olarak kaydediyo.Şöyle bir sorunum var 200 kb 250 kb sınırındaki herhangi bir dosyamı (zip,jpg,txt) upload etmede sıkıntı yaşamıyorum ama 300k'den daha büyük dosyalarda upload işlemi gerçekleştirdiğimde server üzerinde bir process sürekli işlem yapmaya çalışıyor.
Bu process Image Name : w3wp.exe, UserName : ASP.Net v4.0, CPU : 50, Description : IIS Worker Process
Sürekli olarak takılı kalıyor ve bazen CPU %100'e vuruyor.
Fakat :
Asp.Net sayfamdan post edemediğim 350 kb ve daha büyük boyutlu dosyaları web servisini browserden açıp,parametreleri(path,base64Str vs.) string olarak girdiğimde 1 saniyeden daha az bir sürede upload işlemini gerçekleştiriyor.
CODE :
* encodedFile = Base64Str formatında
string postString = string.Format("userName={0}&userVendor={1}&vendorKey={2}&base64FileStr={3}&guid={4}&fileName={5}", "kadi", "şifre", "key", encodedFile, guid, strFilename);
string localHttpPostUrl = userGatewayAddress + "uploadFile";
ASCIIEncoding encoding = new ASCIIEncoding();
Stream newStream = null;
HttpWebResponse response = null;
Stream streamResponse = null;
StreamReader streamRead = null;
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(localHttpPostUrl);
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "POST";
byte[] buffer = Encoding.UTF8.GetBytes(postString);
request.ContentLength = buffer.Length;
newStream = request.GetRequestStream();
newStream.Write(buffer, 0, buffer.Length);
newStream.Close();
response = (HttpWebResponse)request.GetResponse();
streamResponse = response.GetResponseStream();
streamRead = new StreamReader(streamResponse);
Char[] readBuffer = new Char[256];
ret = string.Empty;
int totalCharCount = 0;
int count = streamRead.Read(readBuffer, 0, 256);
while (count > 0)
{
totalCharCount += count;
ret += new String(readBuffer);
count = streamRead.Read(readBuffer, 0, 256);
}
ret = ret.Substring(0, totalCharCount);
return ret;
}
catch (Exception x)
{
return x.Message;
}
Merhaba,
<system.web>
<!-- 100 KB Max POST size -->
<httpRuntime maxRequestLength="100"/>
</system.web>
http://support.microsoft.com/kb/832878
Saygılar,