9 Stimmen

WCF-Minimal-Client app.config-Einstellungen

Was sind die minimalen Client-Einstellungen, die ich für eine gestraffte WCF-Konfiguration in der app.config tun müssen?

Die Standardeinstellung ist diese:

    <bindings>
        <wsHttpBinding>
            <binding name="WSHttpBinding_IService" closeTimeout="00:01:00"
                openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
                maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
                allowCookies="false">
                <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                    maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                <reliableSession ordered="true" inactivityTimeout="00:10:00"
                    enabled="false" />
                <security mode="Message">
                    <transport clientCredentialType="Windows" proxyCredentialType="None"
                        realm="" />
                    <message clientCredentialType="Windows" negotiateServiceCredential="true"
                        algorithmSuite="Default" establishSecurityContext="true" />
                </security>
            </binding>
        </wsHttpBinding>
    </bindings>

Was kann ich ausschließen, und wie viel davon brauche ich?


bearbeiten : Sollte ich einfach anfangen, Teile herauszureißen, bis es bricht? Ich habe gehofft, einige gute optimierte wsHttpBindings zu finden, die Menschen haben viel Glück mit.

0 Stimmen

Aus der Frage geht nicht klar hervor, ob wir die Perspektive eines Servers oder eines Kunden einnehmen sollen. Die Minimalkonfiguration könnte unterschiedlich sein. Ich vermute, dass in jedem Fall keine verbindliche Konfiguration erforderlich sein sollte. Sowohl ein WCF-Client als auch ein Server pourrait funktionieren auch ohne verbindliche Konfiguration sehr gut. Die minimale Konfiguration wäre entweder die <client> o <services> Element, je nachdem, ob die Frage an einen Client oder einen Server gerichtet ist.

8voto

Yossi Dahan Punkte 5309

Jerograv hat recht, da dies alles Standardeinstellungen sind, können Sie alle weglassen. Um dies zu testen, habe ich einen einfachen Dienst erstellt und die minimal erforderliche Konfiguration erstellt, die im Wesentlichen aus der Adresse, der Bindung und dem Vertrag besteht.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.serviceModel>
        <client>
            <endpoint address="http://sabra2/TestService/Service1.svc" binding="wsHttpBinding"
                contract="IService1"/>
        </client>
    </system.serviceModel>
</configuration>

0 Stimmen

Diese Frage wird aus der Sicht eines Kunden beantwortet. Es ist also wahr dass die Minimalkonfiguration eine <endpoint> Element, aber die Umgebung wird entweder <client> o <service> je nachdem, ob Sie ein Client oder ein Server sind.

0 Stimmen

Und wenn dies der Server gewesen wäre, bräuchten Sie auch keine address Wert, könnte er einfach leer sein (wenn er von IIS gehostet wird, da die Adresse aus der IIS-Bindung übernommen wird).

7voto

Tad Donaghe Punkte 6640

Denken Sie einfach an das ABC der WCF. Adresse, Bindung, Vertrag. Das ist alles, was Sie brauchen!

Ihr Client muss nur einen Endpunkt haben, um mit einem WCF-Dienst zu kommunizieren. Jeder Endpunkt muss nur die einzelnen ABCs beschreiben und das war's. Die anderen Dinge können später angehängt werden.

Das ist ein Grund, warum ich kein großer Fan des Hinzufügens von Dienstverweisen in Visual Studio bin.

4voto

Jero Punkte 159

Ich denke, Sie werden feststellen, dass alle davon ist fakultativ. Alle diese Dinge in dieser speziellen Bindung sind ohnehin die Standardeinstellungen.

Ich denke sogar, dass die Angabe der Bindung im Endpunkt in diesem Fall optional wäre.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X