正在ASP.NET中使用Tridion 2011 linking.svc服务
尝试将服务引用添加到ASP.NET应用程序中的/linking.svc时,我收到以下错误: 下载正在ASP.NET中使用Tridion 2011 linking.svc服务,tridion,Tridion,尝试将服务引用添加到ASP.NET应用程序中的/linking.svc时,我收到以下错误: 下载http://localhost:82/linking.svc/。请求失败,HTTP状态为404:未找到。元数据包含无法解析的引用:http://localhost:82/linking.svc/。在http://localhost:82/linking.svc/可以接受该消息。这通常是由不正确的地址或SOAP操作引起的。有关更多详细信息,请参阅InnerException(如果存在)。远程服务器返回
http://localhost:82/linking.svc/
。请求失败,HTTP状态为404:未找到。元数据包含无法解析的引用:http://localhost:82/linking.svc/
。在http://localhost:82/linking.svc/
可以接受该消息。这通常是由不正确的地址或SOAP操作引起的。有关更多详细信息,请参阅InnerException(如果存在)。远程服务器返回错误:(404)未找到。如果服务是在当前解决方案中定义的,请尝试构建解决方案并再次添加服务引用
我想我可以像odata(在VisualStudio中添加服务引用)一样使用链接服务,因为odata对我来说很好。我已经检查了服务安装的web.config,两个端点看起来配置正确
<!-- HTTP support -->
<service name="Tridion.ContentDelivery.Webservice.ODataService">
<endpoint behaviorConfiguration="webHttp" bindingConfiguration="HttpBinding" binding="webHttpBinding" contract="Tridion.ContentDelivery.Webservice.IODataService" />
</service>
<service name="Tridion.ContentDelivery.Webservice.LinkingService">
<endpoint behaviorConfiguration="webHttp" bindingConfiguration="HttpBinding" binding="webHttpBinding" contract="Tridion.ContentDelivery.Webservice.Ilinking" />
</service>
<service name="Tridi
您是否阅读了此处的文档(需要登录):
< P>您是否考虑编写自己的客户端用于链接服务?它是一个非常简单的REST-ful web服务,因此您可以使用标准的WebClient
:
Mihai Cadariu的一个例子:
WebClient=newWebClient();
字符串linkingServiceUrl=”http://tridion.server:8080/services/linking.svc";
string COMPONENT_LINK=“/componentLink?sourcePageURI={0}&targetComponentURI={1}&excludeTemplateURI={2}&linkTagAttributes={3}&linkText={4}&showTextOnFail={5}&showAnchor={6}”;
字符串url=linkingServiceUrl+
格式(组件链接,
sourcePageUri,
targetComponentUri,
excludeTemplateUri,
HttpUtility.UrlEncode(linkTagAttributes),
HttpUtility.UrlEncode(linkText),
showTextOnFail,
showAnchor);
返回client.DownloadString(url);
谢谢你。事实上,这是可行的,可以扩展为二进制、动态和页面链接。非常感谢如果你对答案感到满意,请接受正确的答案。谢谢你指出这一点。我已经阅读了这个文档,但是它缺少一个消费使用的示例。反编译linking.svc和odata.svc文件也帮助我了解它们的用法。