2017-05-10 18 views
2

私はカスタムバインディングでWCFサービスを使用しています。結果の長さを短くするためにgzipを設定しました。最近.NETコアに移行し、私のメソッドをコアプロジェクトで呼び出すと、このエラーが発生します。WCFサービスフォームを呼び出すDotnetコア

http://www.???.com:96/TicketCache.svc/mexへのHTTP応答の受信中にエラーが発生しました。これは、サービスエンドポイントがHTTPプロトコルを使用しないでバインドすることが原因である可能性があります。これは、(おそらくサービスのシャットダウンのために)サーバーによって中止されたHTTP要求コンテキストが原因である可能性もあります。詳細はサーバーログを参照してください。私は、WCFでの私の設定を変更し、基本的な結合に設定した後

は、それは私が多くのことを検索し、別の方法をテスト

うまく働いたが、私は

BinaryMessageEncodingBindingElement binaryMessageEncodingBindingElement = new BinaryMessageEncodingBindingElement(); 

binaryMessageEncodingBindingElement.CompressionFormat = CompressionFormat.GZip; 

HttpTransportBindingElement httpTransportBindingElement = new HttpTransportBindingElement(); 
httpTransportBindingElement.MaxReceivedMessageSize = 65536000; 
httpTransportBindingElement.MaxBufferSize = 65536000; 

CustomBinding customBinding = null; 
customBinding = new CustomBinding(new BindingElement[] { binaryMessageEncodingBindingElement, httpTransportBindingElement }); 
customBinding.OpenTimeout = TimeSpan.FromMinutes(10); 
customBinding.CloseTimeout = TimeSpan.FromMinutes(10); 
customBinding.ReceiveTimeout = TimeSpan.FromMinutes(20); 
customBinding.SendTimeout = TimeSpan.FromMinutes(10); 
customBinding.CreateBindingElements(); 

var factory = new ChannelFactory<customBinding, new EndpointAddress("http://www.???.com:96/TicketCache.svc/mex")); 

どのように答えることができませんでしたこの問題を解決できますか?

+0

をweb.configファイルには、以下のようなコードを追加し、サービス稼働している、とファイアウォールのアクセスが許可されていますか? – ColinM

+0

私はファイアウォールでサービスを許可して開きます –

答えて

3

これはネットコアの問題ですので、ビジュアルスタジオ2017をインストールして問題を解決しました。アンインストールしてから、最新バージョンのネットコアをインストールしてください。現在1.1.2

+0

それは私にとってはうまくいったけど、.netコアのバージョンを変更して作業する方法はありますか? –

+0

はい、これは "データ契約"問題のために起こっているバグです。しかし、私は別の解決策で修正されるかどうかわからない – Houtan

+0

VS2017と.netコア1.1.1を使って他のシステムでテストしたところ、別のテストの後にはとても混乱しているので、私は混乱しています –

0

ある

<behaviors> 
     <serviceBehaviors> 
     <behavior name="ServiceBehaviour"> 
     <useRequestHeadersForMetadataAddress> 
     <defaultPorts> <!— Use your own port numbers —> 
      <add scheme="http" port="enter your web service port :8088" /> 
     </defaultPorts> 
     </useRequestHeadersForMetadataAddress> 
     </behavior> 
    </serviceBehaviors> 

+0

私の問題は.netCoreプロジェクトに関するもので、.netframworkプロジェクトでうまく動作し、Webサービスに関するものではない –

関連する問題