powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF и Streaming больших файлов
25 сообщений из 35, страница 1 из 2
WCF и Streaming больших файлов
    #35085299
guinea-pig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Люди добрые, поможите морской свинке, то бишь девушке-программистке :)

Пытаюсь протащить крупные файлы между клиентом и WCF-сервисом, работающим под IIS. В сети есть хорошая статья про большинство подводных камней ( wcf-streaming-upload-files-over-http ), но, к сожалению, мой пример, реализованный в соответствии с таким шаблоном, работать не хочет.
После добавления в веб.конфиг указанного параметра
Код: plaintext
1.
2.
3.
<system.web>
   <!-- maxRequestLength (in KB) max size: 2048MB -->
   <httpRuntime maxRequestLength="655360"/>
</system.web>
клиент перестает ругаться на таймаут, как и написано, файлы передаются, но только очень мелкие (размером примерно до 45 Кбайт), как только пытаюсь передать что-то больше - Bad Request (400). Причем до выпадения этой ошибки файл явно закачивается на удаленный сервер и, по-видимому, все же в режиме streaming, так как память не растет (в то же время на серверной машине убывает пространство жесткого диска, хотя целевой файл не создается). Как только передается полный размер, вылетает ошибка Bad Request, сам серверный метод не выполняется.

Я так понимаю, что где-то на сервере осталось ограничение на максимальный размер принимаемого потока, но где еще, кроме веб.конфига? Смотрела еще и machine.config, но ничего похожего на 45 Кбайт не нашла.

Помогите, пожалуйста :)
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35128742
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет морская черепаха! Помогаю. Нужно использовать transferMode="Streamed" , который не с каждым биндингом пойдёт. У меня реализовано с basicHttpBinding. Загружаю 2 файла 320 и 486 Кб.

Сервис
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.IO;
using System.Reflection;

/* a class which implements IService (see Service),
 * and configuration entries that specify behaviors associated with 
 * that implementation (see <system.serviceModel> in web.config)*/
namespace PhotoManagerService
{
    
    [ServiceContract]
    public interface IPhotoManagerService
    {
        [OperationContract()]
        string[] GetPhotoList();

        [OperationContract]
        Stream GetPhotoStream(string Photo);
    }

    public class PhotoManagerService : IPhotoManagerService
    {

        

        string[] IPhotoManagerService.GetPhotoList()
        {
            string[] photoList = new string[3];
            photoList[0] = "mogilny1.jpg";
            photoList[1] = "mogilny2.jpg";
           
            return photoList;
        }





        Stream IPhotoManagerService.GetPhotoStream(string photo)
        {
            string photoFile = String.Format("{0}\\{1}", "C:\\", photo);

            FileInfo fi = new FileInfo(photoFile);

            if (!fi.Exists)
                throw new FileNotFoundException("File does not exist: {0}. Check host configuration for 'PhotoPath' setting.", photo);

            FileStream fs = null;
            try
            {
                fs = new FileStream(photoFile, FileMode.Open, FileAccess.Read, FileShare.Read);
            }
            catch
            {
                if (fs != null)
                    fs.Close();
            }

            return fs;
        }

       
    }
}

//////////////////

<services>
			<service name="PhotoManagerService.PhotoManagerService" behaviorConfiguration="ServiceBehavior">
				<!-- Service Endpoints -->
				<endpoint address=""  binding="basicHttpBinding" contract="PhotoManagerService.IPhotoManagerService">
					<!-- 
              Upon deployment, the following identity element should be removed or replaced to reflect the 
              identity under which the deployed service runs.  If removed, WCF will infer an appropriate identity 
              automatically.
          -->
          
					<identity>
            
						<dns value="localhost"/>
					</identity>
				</endpoint>
				<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
			</service>

Клиент
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.Collections.Generic;
using System.Runtime.Serialization;
using System.Text;
using System.IO;
using System.Reflection;
using System.Drawing;


[ServiceContract]
public interface IPhotoManagerService
{
    [OperationContract()]
    string[] GetPhotoList();
    [OperationContract]
    Stream GetPhotoStream(string Photo);
}
public partial class MyContractClient : ClientBase<IPhotoManagerService>, IPhotoManagerService
{
    public MyContractClient()
    { }
    public MyContractClient(string endpointName)
        : base(endpointName)
    { }
    public MyContractClient(Binding binding, EndpointAddress remoteAddress) :
        base(binding, remoteAddress)
    { }
    /* Additional constructors */

    public string[] GetPhotoList()
    {
        return Channel.GetPhotoList();
    }
    public Stream GetPhotoStream(string Photo)
    {
        return Channel.GetPhotoStream(Photo);
    }
}


    
public partial class _Default : System.Web.UI.Page 
{
    
    
    protected void Page_Load(object sender, EventArgs e)
    {
        


    }
    public bool ThumbnailCallback()
    {
        return false;
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        string[] s; 
        int thumbWidth = 400;
        int thumbHeight = 300;
        System.Drawing.Image.GetThumbnailImageAbort myCallBack = new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
        MyContractClient proxy = new MyContractClient("basicHttpBinding_IPhotoManagerService");
        s = proxy.GetPhotoList();
        Label1.Text = s[0] +" "+ s[1];
        Stream serverStream = proxy.GetPhotoStream(s[0]);
        Bitmap myBitmap = new Bitmap(serverStream);
        System.Drawing.Image myThumbnail = myBitmap.GetThumbnailImage(thumbWidth, thumbHeight, myCallBack, IntPtr.Zero);
        myThumbnail.Save(Server.MapPath("~/" + s[0]));
        Image1.ImageUrl = "~/" + s[0];
        myThumbnail.Dispose();
        myBitmap.Dispose();

        serverStream = proxy.GetPhotoStream(s[1]);
        myBitmap = new Bitmap(serverStream);
        myThumbnail = myBitmap.GetThumbnailImage(thumbWidth, thumbHeight, myCallBack, IntPtr.Zero);
        myThumbnail.Save(Server.MapPath("~/" + s[1]));
        Image2.ImageUrl = "~/" + s[1];
        myThumbnail.Dispose();
        myBitmap.Dispose();

        DataBind();
        
    }
    
}
/////////////////////////
<system.web>
    <httpRuntime maxRequestLength="2097151"/>
...
</system.web>
...
<system.serviceModel>
		<bindings>

      <basicHttpBinding>
				<binding name="basicHttpBinding_IPhotoManagerService" transferMode="Streamed"  closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="2097151" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
					<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
					
					<security mode="TransportCredentialOnly">
						<transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
						<message  algorithmSuite="Default" />
					</security>
				</binding>
			</basicHttpBinding>
		</bindings>
		<client>
			<endpoint address="http://t-1000/my/WCF/StreamingService/Service.svc" binding="basicHttpBinding" bindingConfiguration="basicHttpBinding_IPhotoManagerService" contract="IPhotoManagerService" name="basicHttpBinding_IPhotoManagerService">
				<identity>
					<dns value="localhost"/>
				</identity>
			</endpoint>
		</client>
	</system.serviceModel>


_____________________________________________
Death to Videodrome, long live the New Flesh!
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35128755
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно есть ещё варианты загрузки больших файлов, типа Chunks.
Благодарности не надо. Высылай фото со своим телефоном на мой email.
_____________________________________________
Death to Videodrome, long live the New Flesh!
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35128941
МихаилР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buredВозможно есть ещё варианты загрузки больших файлов, типа Chunks.

Собственно, streamed и переводит на chunked-передачу. Другое дело, что:
- выбор как передавать (одним запросом или "цепочкой") делает отправляющая сторона (т.е. сервер не сможет заставить клиента выбрать способ передачи). Кстати, как в этом случае поступает WCF я не изучал - главное, что streamed решает проблему...
- не все реализации http правильно поддерживают chunked-запросы (например, мы столкнулись с тем, что в WinHTTP есть только возможность принимать, но не отправлять в chunked).

Ну это так, отвлеченные замечания, а вообще, да, нужно поробовать изменить transferMode.
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35130171
guinea-pig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эх, ребята:) Если бы все было так просто... Со времени подачи запроса я и сама уже поразбиралась, и вот какие интересные моменты всплыли:
1) При отдельно стоящем WCF-сервисе стриминг идет отлично в обе стороны.
2) При попытке запихать сервис под IIS, существует такая описанная проблема: стриминг НА сервер работает. Стриминг С сервера - не работает. IIS упорно буфферизует поток и заставить его стриминговать - нереально... При передаче файликов метров по двести очень хорошо видно, как это всё лезет через память :)

Вот что есть по этому поводу в сети:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2108291&SiteID=1

В самом последнем посте написано примерно так:
У вас есть два варианта:
1. Забить на IIS и использовать WCF-сервис под своей виндослужбой.
2. Забить на WCF и использовать IIS с веб-сервисами.


Попробовала я второй вариант, несильно меня порадовало, как он при сериализации все это дело пакует, и в результате было решено писать ftp-сервер и не мучиться.

В любом случае, большое спасибо за ответы и за код!

P.S. а фото высылать мне муж не разрешает :D
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35130578
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guinea-pigЭх, ребята:) Если бы все было так просто... Со времени подачи запроса я и сама уже поразбиралась, и вот какие интересные моменты всплыли:
1) При отдельно стоящем WCF-сервисе стриминг идет отлично в обе стороны.
2) При попытке запихать сервис под IIS, существует такая описанная проблема: стриминг НА сервер работает. Стриминг С сервера - не работает. IIS упорно буфферизует поток и заставить его стриминговать - нереально... При передаче файликов метров по двести очень хорошо видно, как это всё лезет через память :)

Вот что есть по этому поводу в сети:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2108291&SiteID=1

В самом последнем посте написано примерно так:
У вас есть два варианта:
1. Забить на IIS и использовать WCF-сервис под своей виндослужбой.
2. Забить на WCF и использовать IIS с веб-сервисами.


Попробовала я второй вариант, несильно меня порадовало, как он при сериализации все это дело пакует, и в результате было решено писать ftp-сервер и не мучиться.

В любом случае, большое спасибо за ответы и за код!

P.S. а фото высылать мне муж не разрешает :D

ишь, не разрешает... пусть тогда муж своё фото ему вышлет
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35130855
Dmitdd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guinea-pigи в результате было решено писать ftp-сервер и не мучиться.
А вы осилите? Мне самому нужен, да вот только не потяну я это дело, а штука полезная
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35130874
vagner забывший пароль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я, правда, не знаю как работает WCF, но разбиение файла на фрагменты не поможет?
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35130894
Dmitdd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dmitdd[quot guinea-pig]и в результате было решено писать ftp-сервер и не мучиться.
а что мешает вам использовать хэндлер, который будет отдавать файл методом TransmitFile или порциями, а на клиенте запрашивать файл с помощью HttpRequest? И второй хэндлер, который будет принимать файл, а клиент его частями отдавать
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35130915
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Dmitdd
Это уже будет не вэб-сервис
_____________________________________________
Death to Videodrome, long live the New Flesh!
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35131067
guinea-pig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dmitdd , с нуля, может, и не осилю, а с шаблоном точно не пропаду)
Если вам тоже нужно что-то подобное, загляните сюда (фтп-сервер на дотнете с исходниками):
http://sourceforge.net/project/showfiles.php?group_id=107551
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35131559
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашёл пример реализации chunking на WCF. Качал когда-то на netfx3.com, но сейчас не нашёл.
В папке клиента удалены 2 файла image.bmp и echoed_file (без расширения), чтобы влезло на форум.
_____________________________________________
Death to Videodrome, long live the New Flesh!
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35131560
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какая-то вспомогательная байда ещё была.
_____________________________________________
Death to Videodrome, long live the New Flesh!
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35132006
Dmitdd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bured>Dmitdd
Это уже будет не вэб-сервис
_____________________________________________
Death to Videodrome, long live the New Flesh!
Так FTP-сервер - это уже тоже не вэб-сервис. Я предложил более простую альтернативу ему, что поделаешь, если WCF не работает как надо
bured,а когда вы спите?
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35133660
МихаилР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guinea-pigЭх, ребята:) Если бы все было так просто... Со времени подачи запроса я и сама уже поразбиралась, и вот какие интересные моменты всплыли:

Понятно. Печально...
Сами мы использовали только вариант работы из службы.

guinea-pig
Вот что есть по этому поводу в сети:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2108291&SiteID=1


А вы не пробовали рекомендацию постом выше о включении chunked-кодирования на IIS?
У меня самого сейчас нет под руками готового примера чтобы проверить, а делать нет времени.
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35133690
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Госпожа guinea-pig не предоставила подробной информации о:
binding, maxBufferPoolSize, maxReceivedMessageSize, <readerQuotas...
Думаю не всё так плохо.
А на форумах MSDN ошибаются не реже, чем здесь. :)
_____________________________________________
Death to Videodrome, long live the New Flesh!
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35133892
guinea-pig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне кажется, мы немного разошлись в смысле обсуждаемого:)

Со стримингом в самом WCF - все нормально.
Источник проблемы - именно IIS . А конкретно то, что ему нельзя нормально сказать использовать стриминг. Он не понимает и продолжает буфферизовать при отдаче.

Мои конфигурационные файлы (под IIS, не при отдельно стоящем сервисе WCF):
Клиентский app.config:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<configuration>
  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_IStreamingSample" maxReceivedMessageSize="65536000"
            closeTimeout="00:01:00" bypassProxyOnLocal="true"
            openTimeout="00:01:00" receiveTimeout="00:30:00" sendTimeout="00:30:00"
            transferMode="Streamed" messageEncoding="Mtom">
        </binding>
      </basicHttpBinding>
    </bindings>
    <client>
      <endpoint address="http://phoenix-virt2/BOStream/bostream.svc
          binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IStreamingSample"
          contract="Microsoft.ServiceModel.Samples.IStreamingSample"  
          name="BasicHttpBinding_IStreamingSample" />
    </client>
  </system.serviceModel>
</configuration>

Серверный web.config:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
<configuration>
<system.web>
   <!-- maxRequestLength (in KB) max size: 2048MB -->
   <httpRuntime maxRequestLength="655360"/>
   <customErrors mode="Off"/>
</system.web>

  <system.serviceModel>
    <services>
      <service 
         name="Microsoft.ServiceModel.Samples.StreamingService"
         behaviorConfiguration="StreamingServiceBehavior">

        <endpoint address=""
	 binding="basicHttpBinding"
              bindingConfiguration="HttpStreaming" 
              contract="Microsoft.ServiceModel.Samples.IStreamingSample" />
        <endpoint address="mex"
                  binding="mexHttpBinding"
                  contract="IMetadataExchange" />
      </service>
    </services>

<bindings>
<basicHttpBinding>
  <binding name="HttpStreaming" maxReceivedMessageSize="65536000"
           closeTimeout="00:05:00" bypassProxyOnLocal="true"
           openTimeout="00:05:00" receiveTimeout="00:30:00" sendTimeout="00:30:00"
           transferMode="Streamed" messageEncoding="Mtom"/>
</basicHttpBinding>
</bindings>

    <behaviors>
      <serviceBehaviors>
        <behavior name="StreamingServiceBehavior">
          <serviceMetadata httpGetEnabled="True"/>
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>

  </system.serviceModel>

</configuration>

bostream.svc
Код: plaintext
1.
<% @ServiceHost Service="Microsoft.ServiceModel.Samples.StreamingService" %>
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35133927
guinea-pig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насчет чанкинга посмотрю, хотя уже почти решили остановится на фтп-сервере.

Честно говоря, к использованию IIS отношусь прохладно, особенно после прочтения таких милых замечаний о работе ASP.NET:
Микрософт
Теоретически максимальный размер загружаемого файла является достаточно большим. Однако из-за наблюдения за состоянием системы ASP.NET в ASP.NET невозможно загружать очень большие файлы. Рабочий процесс ASP.NET имеет виртуальное адресное пространство размером 2 гигабайта (ГБ). Однако рабочий процесс ASP.NET использует лишь немногим менее 1 ГБ из-за наблюдения за состоянием системы и фрагментации памяти.

В процессе загрузки ASP.NET загружает файл целиком в память, прежде чем пользователь сможет сохранить файл на диск. Поэтому процесс может перезапуститься из-за атрибута memoryLimit тега processModel в файле Machine.config. Значение атрибута memoryLimit представляет долю в процентах физической памяти, которую рабочий процесс ASP.NET может использовать до автоматического перезапуска процесса. Перезапуск процесса предотвращает утечки памяти, которые могут привести к сбою ASP.NET или к тому, что процесс перестанет отвечать на запросы.

Кроме того, на максимальный размер загружаемого файла влияют также и другие факторы. Такими факторами являются объем доступной памяти, объем свободного места на жестком диске, скорость процессора и текущий сетевой трафик. При регулярной загрузке файлов рекомендуется использовать файлы, максимальный размер которых находится в диапазоне от 10 до 20 мегабайт (МБ). Если файлы загружаются редко, максимальный размер файла можно установить равным 100 МБ.

Примечание. В ASP.NET можно загружать файлы, размер которых превышает 100 МБ . Однако рекомендуется придерживаться максимальных размеров загружаемых файлов, приведенных в данной статье. Чтобы более точно определить размеры файлов, выполните нагрузочное тестирование на компьютерах, подобных тем, которые будут использоваться в рабочей среде.


Мне казалось, что утечки памяти обычно предотвращают на стадии разработки, а не в процессе работы готового продукта :)

Взято отсюда:
http://support.microsoft.com/kb/323245/ru#
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35135561
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guinea-pigНасчет чанкинга посмотрю, хотя уже почти решили остановится на фтп-сервере.


Не надо на нём останавливаться. Это же УУУУЖАС, этот самый фтп.
Вот вам советовали:

buredВозможно есть ещё варианты загрузки больших файлов, типа Chunks.


Вот так и делайте. Я так сделал и файлы до 1Гб(дальше не тестировал, т.к. не надо в моём случае)
передаются на сервер и наоборот на клиента без проблем.
Есть ещё NeatUpload, он тоже бааальшие файлы без проблем передаёт.
ФТП - ошибочный путь.
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35135597
guinea-pig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
M234 ФТП - ошибочный путь.
Стало интересно, чем именно :)
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35135688
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guinea-pig M234 ФТП - ошибочный путь.
Стало интересно, чем именно :)

"Террористы снова захватили самолёт. Стабильности нет." (с)И так все знают.

Ненадёжно. Скорость меньше. Геморроя больше. Полный кошмар если надо передавать очень много очень маленьких файлов.(оч. большие накладные расходы).
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35382930
guinea-pigЛюди добрые, поможите морской свинке, то бишь девушке-программистке :)Помогите, пожалуйста :)
Получилось таскать большие файлы через WCF & IIS?
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35415847
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получилось? guinea-pigЛюди добрые, поможите морской свинке, то бишь девушке-программистке :)Помогите, пожалуйста :)
Получилось таскать большие файлы через WCF & IIS?

Перетащить-то получилось. Затырк к том что сообщение буферизуется (причём в обе стороны). Стандартными способами это никак не решается.
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35415927
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не понимаю, зачем Вам тут IIS сдался? Активируйте web-сервис как службу Windows, там точно все работает как надо.
...
Рейтинг: 0 / 0
WCF и Streaming больших файлов
    #35415992
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема не в хостинге сервиса, а в том что streaming создан лишь для удобства юзания и буферизует всегда вне зависимости от привязки.
...
Рейтинг: 0 / 0
25 сообщений из 35, страница 1 из 2
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF и Streaming больших файлов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]