سؤال

لدي حاليًا خدمة مريحة لربط webHttp WCF، وهي تعمل بشكل رائع عبر http، ويمكنني إنشاء منشورات بأحجام كبيرة نظرًا لإعدادات webconfig الخاصة بي، والآن أحاول استخدامها عبر https (ssl)، والآن أصبح يعمل بشكل جيد، ولكن لا تعمل المنشورات، فهي لا تعمل عندما يتجاوز حجم الملف حجمًا معينًا، كنت أتساءل عن سبب ذلك نظرًا لأن تكوين الويب الخاص بي يحدد حجمًا أكبر ويعمل بشكل جيد عبر http، إليك تكوين الويب ذي الصلة..أي اقتراحات

شكرًا

<system.serviceModel>
<client>
  <endpoint binding="webHttpBinding" bindingConfiguration="webHttp"
    contract="PrimeStreamInfoServices.IService1" name="Client" />
</client>
<bindings>
  <webHttpBinding>
    <binding name="webHttp" maxBufferSize="15000000" maxBufferPoolSize="15000000"
      maxReceivedMessageSize="15000000">
      <readerQuotas maxDepth="15000000" maxStringContentLength="10000000" 
        maxArrayLength="15000000" maxBytesPerRead="15000000" maxNameTableCharCount="10000000" />
      <security mode="None">
        <transport clientCredentialType="None" proxyCredentialType="None"
          realm="string" />
      </security>
    </binding>
  </webHttpBinding>
</bindings>
<services>
  <service behaviorConfiguration="PrimeStreamInfoServices.Service1Behavior"
    name="PrimeStreamInfoServices.Service1">
    <endpoint address="" binding="webHttpBinding"
      bindingConfiguration="webHttp" contract="PrimeStreamInfoServices.IService1" />
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service>
</services>
<behaviors>
  <serviceBehaviors>
    <behavior name="PrimeStreamInfoServices.Service1Behavior">
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="false" />
      <serviceCredentials>
        <!--
        <serviceCertificate storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectName" findValue="TempCa" />
          -->
      </serviceCredentials>

    </behavior>
  </serviceBehaviors>
</behaviors>
<diagnostics>

  <messageLogging logMalformedMessages="true"  logMessagesAtServiceLevel="true"
    logMessagesAtTransportLevel="true" />

</diagnostics>

هل كانت مفيدة؟

المحلول

إذا كنت تريد استخدام webHttpBinding عبر SSL، فقد قمت بتكوين الارتباط الخاص بك لاستخدام أمان النقل مثل:

<security mode="Transport"> 

هذا وصلة يوفر بعض التفاصيل مع نموذج التكوين للتعامل مع الخطأ التالي:

لا يمكن العثور على عنوان أساسي يطابق مخطط HTTP لنقطة النهاية مع ربط webhttpbinding.مخططات عنوان القاعدة المسجلة هي [HTTPS

نموذج التكوين من المدونة:

<system.serviceModel>
<behaviors>    
 <endpointBehaviors>
  <behavior name="TestServiceAspNetAjaxBehavior">
   <enableWebScript />
  </behavior>
 </endpointBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<services>
 <service name="TestService">
  <endpoint address="" behaviorConfiguration="TestServiceAspNetAjaxBehavior"
   binding="webHttpBinding" bindingConfiguration="webBinding" contract="TestService" />
 </service>
</services>
 <bindings>
   <webHttpBinding>
     <binding name="webBinding">
       <security mode="Transport">
       </security>
     </binding>
   </webHttpBinding>
 </bindings>
</system.serviceModel>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top