LINQPadが大好きです!LINQPadのWCFコネクタを使用してTridionCoreServicesに接続し、Coreの迅速な開発と学習を支援しようとしています。
現在、LINQPadはURIの404(見つかりません)エラーを報告していますが、これと同じURIが私のブラウザーで機能します。
他の誰かが正常に接続しますか?
LINQPadの接続ウィンドウ
LINQPadは、コアサービスAPIを介してTridionと対話するための私の選択ツールです。
プレーンなLINQPadをダウンロードするだけで、WCFデータサービス(通常はODataソースと呼ばれます)、SQL Serverデータベース、およびAzureDataServices市場に接続できます。Tridionのコアサービスはこれらのタイプのいずれでもないため、永続的な接続を作成することはできません。
ただし、次の手順に従うことで、VisualStudioの軽量な代替手段としてLINQPadを使用できます。
LINQPadは複数の言語を処理できます。デフォルトは「C#式」です。これは、コードパネルで単一の「ステートメント」を指定できることを意味します。これは、たとえばドライバーが利用可能なSQLデータベースを操作する場合にはうまく機能しますが、Tridionのコアサービスと対話するには十分ではありません。したがって、最初に、クエリの上部にあるツールバーで「C#式」言語から「C#プログラム」言語に切り替える必要があります。
言語を切り替えた後、私は通常、次の定型文から始めます
void Main()
{
// System.Runtime.Serialization.dll
// System.ServiceModel.dll
// System.Net.dll
// Namespaces:
// System.Net
// System.ServiceModel
// Tridion.ContentManager.CoreService.Client
var binding = new NetTcpBinding { MaxReceivedMessageSize = 2147483647, ReaderQuotas = new XmlDictionaryReaderQuotas { MaxStringContentLength = 2147483647, MaxArrayLength = 2147483647 } };
var endpoint = new EndpointAddress("net.tcp://<hostname>:2660/CoreService/2011/netTcp");
var DEFAULT_READ_OPTIONS = new ReadOptions();
CoreServiceClient client = new CoreServiceClient(binding, endpoint);
client.ChannelFactory.Credentials.Windows.ClientCredential = new NetworkCredential("<username>", "<password>");
try {
// TODO: fill in the blanks
} finally {
if (client.State == CommunicationState.Faulted) client.Abort(); else client.Close();
}
}
このコードを貼り付けた後、[クエリのプロパティ]ウィンドウ(F4)を開き、を追加してSystem.Runtime.Serialization.dll
、[追加の参照]タブに追加します。マシンにTridion.ContentManager.CoreService.Client.dllのコピーがあることを確認し、それへの参照も追加します。(これはサーバーのTridion / bin / clientにあります)System.ServiceModel.dll
System.Net.dll
を追加しSystem.Net
、[追加のネームスペースのインポート]タブに追加します。System.ServiceModel
Tridion.ContentManager.CoreService.Client
<hostname>
コードの、、<username>
および値を変更し<password>
、接続が成功するかどうかをテストします。
この後、空欄に記入して、CoreServiceAPIを楽しんでください。
Core Service APIドキュメント(CHM形式)を常に開いたままにしておくことをお勧めします。そのオープンで、オートコンプリートがなくてもかなり遠くまで行けることがわかりました。また、作成したクエリを保存すると、ctrl-shift-Cを使用して簡単にクローンを作成し、言語、DLL参照、名前空間が既に入力された新しいクエリを作成できます。
LINQPadからTridionに接続する簡単な方法は、https ://sdltridionworld.com/articles/sdltridion2011/using_linqpad_with_tridion.aspxに記載されています。
これを読んでください:http://markistaylor.com/2010/09/09/linqpad-beyond-linq/System.ServiceModel.dllと[Tridion_Home]\binへの参照を追加することでこれを行うことができるようです\ client \ Tridion.ContentManager.CoreService.Client.dll([クエリ]-> [クエリプロパティ]の下)からLINQPadへ。
コンテンツマネージャのIISログを確認できます-LINQPaD接続の試行から404が表示されますか?そのページは実際に存在しますか?