2017-11-21 9 views
0

Azure関数から呼び出されるWCFサービスを設定する方法を知っている人はいますか?Azure関数でWCFサービスを呼び出す

シナリオ:

  • 私は紺碧の機能のプロジェクトを持っています。
  • 私はコントローラとマッパーで構成されるコアプロジェクトを持っています。
  • このコアプロジェクトには、接続されたサービスが設定されています。
  • テストプロジェクトから作業するエンドポイントとバインディングを設定しました。

しかし、私は取得関数からそれを呼び出すたび:

は、名前のエンドポイント要素ServiceModelクライアント構成セクションの「ABC」と契約「ABC」が見つかりませんでした。これは、アプリケーションで設定ファイルが見つからなかったか、またはこの名前に一致するエンドポイント要素がクライアント要素内に見つからなかった可能性があります。サービスの

構成:助けるため

<system.serviceModel> 
<bindings> 
    <basicHttpBinding> 
    <binding name="TranslationBridgeWebServiceSoap" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" useDefaultWebProxy="true"> 
     <security mode="None" /> 
    </binding> 
    </basicHttpBinding> 
    <customBinding> 
    <binding name="TranslationBridgeWebServiceSoap12" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"> 
     <textMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16" messageVersion="Soap12WSAddressingAugust2004" writeEncoding="utf-8"> 
     <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" /> 
     </textMessageEncoding> 
     <security authenticationMode="UserNameOverTransport" allowInsecureTransport="false" /> 
     <httpsTransport manualAddressing="false" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" allowCookies="false" authenticationScheme="Anonymous" bypassProxyOnLocal="false" decompressionEnabled="true" hostNameComparisonMode="StrongWildcard" keepAliveEnabled="true" maxBufferSize="65536" proxyAuthenticationScheme="Anonymous" realm="" transferMode="Buffered" unsafeConnectionNtlmAuthentication="false" useDefaultWebProxy="true" /> 
    </binding> 
    </customBinding> 
</bindings> 
<client> 
    <endpoint address="https://abc/TranslationBridgeExternalService.asmx" binding="customBinding" bindingConfiguration="TranslationBridgeWebServiceSoap12" contract="ABC" name="ABC" /> 
    <endpoint address="https://abc/TranslationBridgeExternalService.asmx" binding="basicHttpBinding" bindingConfiguration="TranslationBridgeWebServiceSoap" contract="ABC" name="ABC" /> 
</client> 

感謝。

答えて

1

Azure関数Appのファイルはweb.configではありません(手動で入力すると無視されます)。

したがって、コードで構成してWCFクライアントを作成する必要があります。効果的に、コード内のすべてのバインディング、エンドポイントなどをインスタンス化します。各WCFクラスには、コンフィグファイルなしのすべてのパラメータを持つエンティティをインスタンス化するコンストラクタが常にあります。

+0

呼び出しを依存プロジェクトに移動するのと同じではないでしょうか。このプロジェクトはすべての設定、app.configなどを持ち、順番にそれを呼びますか?または、私はここで何かを逃しています。ありがとう。 :) –

+0

いいえ、 'app.config'もピックアップされません。設定は、関数runtimeによって制御されます。 – Mikhail

+0

ありがとう。それを試みます。 –

関連する問題