2009-02-17 16 views
5

Şu anda internette potansiyel olarak büyük bir dosya göndermem gereken küçük bir proje üzerinde çalışıyorum.WCF'de aktarım hizmet sözleşmesindeki Boyutlar ve Zamanaşımları

Bazı tartışmalardan sonra, yığınlama yaklaşımı yerine akış seçeneğine gitmeye karar verdim. Dosyalar potansiyel olarak çok büyük olabilir, gerçekten kim bilir tam bir üst sınır, 2GB belki 4GB belirtmek istemiyorum.

Doğal olarak bu uzun zaman alabilir. Yine bir zaman aşımı olmak istemiyorum. Sadece gerektirdiği kadar sürer, önemli değil.

Farklı boyutlardaki farklı dosyaları denemeye çalışırken, adım adım yavaşça, BasicHttpBinding öğesinin özelliklerini ayarlıyorum. Geldiğim değerlerin temelde tamam mı yoksa tamamen kötülük mi olduğunu merak ediyorum. Bu sadece doğru bir şekilde gelmiyor

transferMode="Streamed" 
sendTimeout="10675199.02:48:05.4775807" 
receiveTimeout="10675199.02:48:05.4775807" 
openTimeout="10675199.02:48:05.4775807" 
closeTimeout="10675199.02:48:05.4775807" 
maxReceivedMessageSize="9223372036854775807" 

bu her temel veri yapısı için sadece mümkün olan maksimum değerlerdir. Ama başka ne yapacağımı bilmiyorum. Yani yine

:

bu doğru yaklaşım temelde var mı? Ya da çerçeveyi tamamen yanlış anlamış mıyım?

Teşekkür

cevap

2

Eh, daha doğal bir yaklaşım işlemek için son bir mesajla, orta boy parçalar halinde bir dizide dosya göndermek olabilir; Bu ayrıca hatadan devam etmeyi mümkün kılar. Tam açık sayılarla birlikte hafif bir DOS sorunu olabilir ...

0

WCF istemcisi ile sunucu arasındaki bağlantı VPN'den geçtiğinde akışla ilgili bir sorunum var. İlgiliyse this thread'da daha fazla bilgi edinin.

Akış bir dakikadan daha uzun bir süre boyunca akış için yeterince büyükse, bir istisna oluşur.

İlgili konular