ورود

View Full Version : سوال: کمک - خطا در خواندن رکورد های هاوی تصویر



arman_Delta2002
پنج شنبه 06 آذر 1393, 02:34 صبح
سلام مجدد من تو رکوردام یه فیلد تصویر دارم که زمانی که داده ها پر شده و میخواد برگردونه این خطا رو میده مشکل از کجاست ؟
کد ها درست اجرا میشن وقتی فیلد تصویر رو حذف میکنم مشکلی نیست وقتی 2 رکورد هست هم باز مشکلی نداره ولی تعداد رکورد های هوای تصویر زیاد بشه این خطا رو میده .


An unhandled exception of type 'System.TimeoutException' occurred in mscorlib.dll

Additional information: This request operation sent to http://localhost:1735/Service1.svc did not receive a reply within the configured timeout (00:01:29.9949998). The time allotted to this operation may have been a portion of a longer timeout. This may be because the service is still processing the operation or because the service was unable to send a reply message. Please consider increasing the operation timeout (by casting the channel/proxy to IContextChannel and setting the OperationTimeout property) and ensure that the service is able to connect to the client.


کانفیگ سرویس ام

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<directoryBrowse enabled="true"/>
</system.webServer>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IService1" closeTimeout="01:00:00" openTimeout ="01:00:00" receiveTimeout ="01:00:00" allowCookies="true" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Mtom" textEncoding="utf-8" transferMode="Streamed" useDefaultWebProxy="true">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="8092" maxNameTableCharCount="2147483647" />
<security mode="Transport"></security>
</binding>
</basicHttpBinding>
<netTcpBinding>
<binding name="NetTCPBinding" sendTimeout="00:25:00" openTimeout="00:25:00" receiveTimeout="00:25:00" maxReceivedMessageSize="2147483647">
</binding>
</netTcpBinding>
</bindings>
<services>
<service behaviorConfiguration="TripleSWcfService1.Service1Behavior" name="TripleSWcfService1.Service1" >
<endpoint address="http://localhost:1735/Service1.svc" binding="wsDualHttpBinding" contract="TripleSWcfService1.IService1" >
</endpoint>
</service>
</services>

<behaviors>
<serviceBehaviors>
<behavior name="TripleSWcfService1.Service1Behavior" >
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true" />
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>

<system.web>
<customErrors mode="Off"/>
<compilation debug="true" targetFramework="4.0"/>
<httpRuntime maxRequestLength="2147483647" requestLengthDiskThreshold ="555" executionTimeout="222" shutdownTimeout="90" enable="true" maxQueryStringLength="999999" />
<pages controlRenderingCompatibilityVersion="4.0"/>
</system.web>
<system.net>
<settings>
<servicePointManager expect100Continue="false" />
</settings>
</system.net>

</configuration>



اینم کانفیگ ویندوز اپلیکیشنم



<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>

</startup>
<system.serviceModel>
<client>
<endpoint address="http://localhost:1735/Service1.svc" binding="wsDualHttpBinding"
bindingConfiguration="WSDualHttpBinding_IService1" contract="ServiceReference1.IService1"
name="WSDualHttpBinding_IService1">
<identity>
<userPrincipalName value="arman-laptop\arman" />
</identity>
</endpoint>
</client>
<behaviors>
<endpointBehaviors>
<behavior name ="WSDualHttpBinding_IService1">
<dataContractSerializer maxItemsInObjectGraph ="2147483647" />
<callbackTimeouts transactionTimeout="01:00:10"/>
</behavior>
</endpointBehaviors>

</behaviors>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IServiceWPF1" closeTimeout="01:00:00"
openTimeout="01:00:00" receiveTimeout="01:00:00" sendTimeout="01:00:00"
bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147843647"
textEncoding="utf-8" useDefaultWebProxy="false" messageEncoding="Mtom" transferMode="Streamed">
<security mode="Transport"></security>
</binding>

</basicHttpBinding>
<wsDualHttpBinding>
<binding name="WSDualHttpBinding_IService1" />
</wsDualHttpBinding>
</bindings>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
</system.serviceModel>
</configuration>



126065

مشکل کجاست ؟

m.fazlali
پنج شنبه 06 آذر 1393, 22:30 عصر
در wcf نمیتوان در یک لحظه حجم بالایی از تصویر را به یکباره ارسال کرد در این موارد در wcf از روش streaming استفاده میشود که اطلاعات را بصورت قطعه قطعه ارسال میکند .

arman_Delta2002
جمعه 07 آذر 1393, 13:28 عصر
در wcf نمیتوان در یک لحظه حجم بالایی از تصویر را به یکباره ارسال کرد در این موارد در wcf از روش streaming استفاده میشود که اطلاعات را بصورت قطعه قطعه ارسال میکند .

در کانفیگ سرور از این روش هم استفاده کردم transferMode="Streamed"
ولی میبین که خطا داده :)
حجم این 4 تا رکورد 3 مگ هم نمیشه

m.fazlali
جمعه 07 آذر 1393, 20:54 عصر
تا حدود 30 مگابایت نباید مشکلی باشد و نیز Streaming به این روش که شما انجام داده اید و فقط به مقدار دهی transfermode نمیباشد ! حتی میتوان این کار را خودت بصورت دستی انجام بدهی
این گزینه را به تنظیمات اضافه کن

[XML]<endpointBehaviors>
<behavior name="myEndPointBehavior">
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</endpointBehaviors>

و نیز

<behavior name="myNetTcpEndPointBehaviour">
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
</behavior>

http://stackoverflow.com/questions/8225736/transfer-large-amount-of-data-in-wcf-service

arman_Delta2002
شنبه 08 آذر 1393, 18:53 عصر
مرسی درست شد باید یکی میگفت روی فایل های کانفیگ چه سرور چه اپلیکیشن
کیلیک راست کنین و ادیت کانفیک رو بزنین و فایل های کانفیگ رو تو یه محیط یو ای تنظیمات رو انجام بدید