WCF サービスを介してサーバー側の ADO.Net データ エンティティと通信する Silverlight アプリケーションがあります。実際、私は複数の WCF サービスを使用して、3 つの異なるデータ ADO.Net データ エンティティと通信しています。私はもともとこのプロジェクトを Visual Studio 2010 で構築していましたが、最近、約 1 週間前に Visual Studio Professional 2012 (試用版) に移行しました。最初はすべてが正常に機能/移植され、約1時間前までサービスに問題はありませんでした. 1 時間も経たないうちに、コードでこれらと同じ WCF サービスを文字通り使用していました。ただし、xml 文字列をデータベースに挿入するメソッドを追加すると、次のエラーが発生しました。
Content Type text/xml; charset=utf-8 was not supported by service . The client and service bindings may be mismatched.
しかし、バインディングを確認したところ、ServiceReferences.ClientConfig ファイルからわかる限り、basicHttpBinding でした。私は解決策を探し回りましたが、サービス参照を削除してVisual Studioを再起動した後にそれを読むことを提案した唯一の解決策が見つかったので、最終的にそれを試しましたが、追加したメソッドを削除した後でも、このエラーが発生しますクライアントにサービス参照を追加しようとしました:
Warning 6 Custom tool warning: Cannot import wsdl:portType
Detail: An exception was thrown while running a WSDL import extension: System.ServiceModel.Description.DataContractSerializerMessageContractImporter
Error: Exception has been thrown by the target of an invocation.
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:portType[@name='IXMonitorXMLDataService'] C:\Users\ckarrs\Documents\Visual Studio 11\Projects\SL_xMonitor_Frontend_RefactorV1_Backup82212\SL_xMonitor_Frontend_RefactorV1\Service References\XMonitorXMLDataService\Reference.svcmap 1 1 SL_xMonitor_Frontend_RefactorV1
Warning 7 Custom tool warning: Cannot import wsdl:binding
Detail: There was an error importing a wsdl:portType that the wsdl:binding is dependent on.
XPath to wsdl:portType: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:portType[@name='IXMonitorXMLDataService']
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='BasicHttpBinding_IXMonitorXMLDataService'] C:\Users\ckarrs\Documents\Visual Studio 11\Projects\SL_xMonitor_Frontend_RefactorV1_Backup82212\SL_xMonitor_Frontend_RefactorV1\Service References\XMonitorXMLDataService\Reference.svcmap 1 1 SL_xMonitor_Frontend_RefactorV1
Warning 8 Custom tool warning: Cannot import wsdl:port
Detail: There was an error importing a wsdl:binding that the wsdl:port is dependent on.
XPath to wsdl:binding: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='BasicHttpBinding_IXMonitorXMLDataService']
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:service[@name='XMonitorXMLDataService']/wsdl:port[@name='BasicHttpBinding_IXMonitorXMLDataService'] C:\Users\ckarrs\Documents\Visual Studio 11\Projects\SL_xMonitor_Frontend_RefactorV1_Backup82212\SL_xMonitor_Frontend_RefactorV1\Service References\XMonitorXMLDataService\Reference.svcmap 1 1 SL_xMonitor_Frontend_RefactorV1
Warning 9 Custom tool warning: No endpoints compatible with Silverlight 5 were found. The generated client class will not be usable unless endpoint information is provided via the constructor. C:\Users\ckarrs\Documents\Visual Studio 11\Projects\SL_xMonitor_Frontend_RefactorV1_Backup82212\SL_xMonitor_Frontend_RefactorV1\Service References\XMonitorXMLDataService\Reference.svcmap 1 1 SL_xMonitor_Frontend_RefactorV1
Warning 10 Custom tool warning: Exception has been thrown by the target of an invocation. C:\Users\ckarrs\Documents\Visual Studio 11\Projects\SL_xMonitor_Frontend_RefactorV1_Backup82212\SL_xMonitor_Frontend_RefactorV1\Service References\XMonitorXMLDataService\Reference.svcmap 1 1 SL_xMonitor_Frontend_RefactorV1
私はとても混乱しています。他のサービス参照は同じままで、このサービスに追加して参照を更新しようとするまで、このサービスは完全に機能していました。これは VS 2010 と 2012 の間の互換性の問題ですか? MSDN Web サイトによると、VS 2012 は VS 2010 と下位互換性があり、すべてが正常に移行されたようです。どんな助けでも大歓迎です、私は当惑しています。追加情報が必要な場合はお知らせください。