Silverlight アプリケーションがあり、アプリケーションは wcf (SSL/https) を使用して、iis でホストされているパブリック サービスに接続します。ブラウザでアプリケーションを起動すると、すべて正常に動作します。「Out of Browser Mode」でアプリケーションを起動するとすぐに、動作しなくなります。フィドラーの問題を理解しようとしましたが、フィドラーが実行されている限り、すべて正常に動作します。これについてインターネットで多くの投稿を見つけましたが、何も機能しませんでした。アイデアはありますか?フィドラーは正確に何をし、oobで実行しますか?
概要: 1.「ブラウザ内」ですべて正常 2.「ブラウザ外」で実行中のパブリック サービスへの接続なし 3. Fiddler が実行されている限り、「ブラウザ外」で実行中
以下は、私がどのように接続を行うかについての情報です。
助けてくれてどうもありがとう。
よろしくお願いします。マルク
ここに私がすべてを行う方法に関するいくつかの情報があります:
自己署名証明書がすべてに関係している可能性はありますか?
パブリック サービスへのクライアント側の接続は次のようになります。
PublicServiceClient proxy;
BinaryMessageEncodingBindingElement binaryMessageEncodingBindingElement = new BinaryMessageEncodingBindingElement();
HttpsTransportBindingElement httpsTransportBindingElement = new HttpsTransportBindingElement();
httpsTransportBindingElement.MaxBufferSize = int.MaxValue;
httpsTransportBindingElement.MaxReceivedMessageSize = int.MaxValue;
httpsTransportBindingElement.TransferMode = TransferMode.Buffered;
Binding binding = new CustomBinding(binaryMessageEncodingBindingElement, httpsTransportBindingElement);
binding.SendTimeout = new TimeSpan(0, 0, _WcfTimeout);
binding.ReceiveTimeout = new TimeSpan(0, 0, _WcfTimeout);
binding.OpenTimeout = new TimeSpan(0, 0, _WcfTimeout);
binding.CloseTimeout = new TimeSpan(0, 0, _WcfTimeout);
proxy = new PublicServiceClient(binding, new EndpointAddress("https://" + App.CurrentParameter.WcfDomain + "/PublicService.svc"));
バインディング サーバー側 (web.config):
<binding name="Web.PublicService.customBinding0" sendTimeout="00:01:00" receiveTimeout="00:01:00" openTimeout="00:01:00" closeTimeout="00:01:00">
<binaryMessageEncoding maxReadPoolSize="2147483647" maxWritePoolSize="2147483647">
<readerQuotas maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxDepth="2147483647" maxNameTableCharCount="2147483647" maxStringContentLength="2147483647"/>
</binaryMessageEncoding>
<httpsTransport maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" keepAliveEnabled="false"/>
</binding>
サービス サーバー側 (web.config):
<service name="Web.PublicService">
<endpoint address="" binding="customBinding" bindingConfiguration="Web.PublicService.customBinding0" contract="Web.PublicService"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>