انتهت مهلة قناة الطلب أثناء انتظار الرد بعد الساعة 00:00:59

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/61146

  •  10-12-2019
  •  | 
  •  

سؤال

أنا أكتب خدمة ويب SharePoint أساسية جدًا.لقد اختبرت مقابل المكتبة الصغيرة لعام 2010 وهي تعمل بشكل جيد في كل مرة.

تأتي المشكلة مع خادم MOSS 2007 حيث تكون المكتبة كبيرة جدًا.أنا أستخدم .Net 3.5 ومع أقل من ثلاثة أسطر من التعليمات البرمجية، أحصل على خطأ بشكل عشوائي، انتهت مهلة قناة الطلب أثناء انتظار الرد بعد الساعة 00:00:59.إذا قمت بزيادة المهلة ، فلا يزال الأمر عشوائيًا ، فأنا أخطأ ، تم إغلاق الاتصال الأساسي:تم إغلاق الاتصال بشكل غير متوقع.

ListsSoapClient client = new ListsSoapClient();
        client.ClientCredentials.Windows.ClientCredential 
= System.Net.CredentialCache.DefaultNetworkCredentials;
client.ClientCredentials.Windows.AllowedImpersonationLevel 
=   System.Security.Principal.TokenImpersonationLevel.Impersonation;
XmlElement listCollection = client.GetListCollection();

ليس لدي أدنى فكرة عن سبب انتهاء المهلة وانقطاعها بشكل عشوائي، ولا يواجه الخادم أية مشكلات.لدي U2U CAML builder وباستخدامه يمكنني تنفيذ الاستعلام دون توقف والحصول على النتائج على الفور.

أعتقد أن هناك خطأً ما في ملف app.config الخاص بي أو شيئًا أحتاج إلى تعيينه في جانب العميل.

يحتوي ملف app.config الخاص بي على الإعداد أدناه،

        <binding name="ListsSoap" closeTimeout="00:01:00" openTimeout="00:01:00"
        receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
        bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
        maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
        messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
        useDefaultWebProxy="true">
        <security mode="TransportCredentialOnly">
        <transport clientCredentialType="Ntlm"/>
        <message clientCredentialType="UserName" algorithmSuite="Default"/>
        </security>
        <readerQuotas maxDepth="32" maxStringContentLength="8192" 
        maxArrayLength="16384"
        maxBytesPerRead="4096" maxNameTableCharCount="16384" />                 
        </binding>

و

  <client>
    <endpoint address="http://ap/AP/_vti_bin/Lists.asmx" binding="basicHttpBinding"
      bindingConfiguration="ListsSoap" contract="SharePointListWebService.ListsSoap"
      name="ListsSoap" />
    <endpoint address="http://ap/AP/_vti_bin/Copy.asmx" binding="basicHttpBinding"
      bindingConfiguration="CopySoap" contract="SharePointCopyWebService.CopySoap"
      name="CopySoap" />
  </client>

أتلقى الخطأ أدناه عندما أغير كل الوقت إلى 10 دقائق.ومرة أخرى، لها عشوائي.

   Unhandled Exception: System.ServiceModel.CommunicationException: The underlying
   connection was closed: A connection that was expected to be kept alive was close
   d by the server. ---> System.Net.WebException: The underlying connection was clo
   sed: A connection that was expected to be kept alive was closed by the server.
      at System.Net.HttpWebRequest.GetResponse()
      at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpCha
   nnelRequest.WaitForReply(TimeSpan timeout)
      --- End of inner exception stack trace ---

   Server stack trace:
      at System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebExc
   eption(WebException webException, HttpWebRequest request, HttpAbortReason abortR
          eason)
      at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpCha
   nnelRequest.WaitForReply(TimeSpan timeout)
      at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeS
   pan timeout)
      at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message messag
   e, TimeSpan timeout)
      at System.ServiceModel.Channels.ServiceChannel.Call(String action,               Boolean        on       
   eway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan tim
   eout)
      at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean on
   eway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
      at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCall
   Message methodCall, ProxyOperationRuntime operation)
      at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

   Exception rethrown at [0]:
      at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage req
   Msg, IMessage retMsg)
      at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgDa
   ta, Int32 type)
      at FetchInvoicesFromSharePointForMaximo.SharePointListWebService.ListsSoap.Ge
   tListCollection(GetListCollectionRequest request)
      at FetchInvoicesFromSharePointForMaximo.SharePointListWebService.ListsSoapCli
   ent.FetchInvoicesFromSharePointForMaximo.SharePointListWebService.ListsSoap.GetL
   istCollection(GetListCollectionRequest request) in C:\FetchInvoicesFromSharePoin
   tForMaximo\FetchInvoicesFromSharePointForMaximo\Service References\SharePointLis
   tWebService\Reference.cs:line 2267
      at FetchInvoicesFromSharePointForMaximo.SharePointListWebService.ListsSoapCli
   ent.GetListCollection() in C:\FetchInvoicesFromSharePointForMaximo\FetchInvoices
   FromSharePointForMaximo\Service References\SharePointListWebService\Reference.cs
   :line 2273
      at FetchInvoicesFromSharePointForMaximo.Program.Main(String[] args) in C:\Fet
   chInvoicesFromSharePointForMaximo\FetchInvoicesFromSharePointForMaximo\Program.c
   s:line 32
هل كانت مفيدة؟

المحلول 2

لقد أصلحت المشكلة ولكني لست متأكدًا من سبب حدوث ذلك، ربما يمكن لبعض الخبراء التعليق عليها.

كان الحل هو أنه بدلاً من الإضافة كمرجع خدمة قمت بإضافته كمرجع ويب وكان ذلك بمثابة خدعة.

افتراضاتي للأسباب أدناه ،

  1. إما أن MOSS 2007 لا يحب العميل الوكيل الذي تم إنشاؤه بواسطة مرجع الخدمة
  2. لدينا في شبكتي تطبيقان بنفس الاسم في مجال مختلف، على الرغم من أنني كنت أستخدم اسمًا مؤهلاً بالكامل في مرجع الخدمة لذا لا ينبغي أن يكون هذا هو السبب

شكرًا

نصائح أخرى

تغيير ما يلي:

closeTimeout="00:01:00" openTimeout="00:01:00"
        receiveTimeout="00:10:00" sendTimeout="00:01:00"

ل:

closeTimeout="00:10:00" openTimeout="00:10:00"
        receiveTimeout="00:10:00" sendTimeout="00:10:00"
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى sharepoint.stackexchange
scroll top