我已经跟以下步骤,以建立一个网络服务在SharePoint:

  1. 创建一个新的项目使用WSPBuilder.
  2. 加入一个'服务'(添加一个新的网服务局的文件夹)
  3. 做一个WSBBuilder"部署"
  4. 该服务可以通过 http://server/_layouts/MyWebService.asmx

这是正确的?或者我应该按照所述的步骤在 MSDN 创造我自己的 .wsdl / .迪斯科 文件并将它们部署到 /_vti_bin 让我的服务可以通过 http://server/_vti_bin/MyWebService.asmx ?
(注:该手册的步骤,从MSDN可以自动使用 SPDev.


我也发现了这个:http://jamestsai.net/Blog/post/Where-do-you-deploy-custom-SharePoint-web-service-files-to-%28asmx-discoaspx-and-wsdlaspx%29.aspx 它描述了之间的差_layouts和_vti_bin.


的问题
什么是最好的方式吗?
和这怎么可能自动通过建立在VS2008或在部署期间从WSP?

有帮助吗?

解决方案 2

您在问题结束时引用的文章确实回答了:自定义Web服务应放置在_vti_bin中。

我通常从将它们添加到_layouts开始,但这仅仅是为了定义我的发现文件等(如您提到的MSDN规范中所述)。


我创建了一个简单的命令行工具,该工具从项目中的WebService Assembly(DLL)生成 *wsdl.aspx和 *Disco.aspx SharePoint兼容文件。


可以在 http://wsdlgenerator.codeplex.com .

从您的SharePoint Webservices项目中使用此功能时,请这样:

将以下行添加到 “邮政构建” 事件:

"$(ProjectDir)Tools\WSDLGenerator.exe" --input "$(TargetPath)" --outputfolder "$(ProjectDir)12\ISAPI" --spwsdl --spdisco

WSDL和迪斯科文件是自动创建并放置在ISAPI文件夹中的。

其他提示

这篇文章你参考,在结束你的问题真的答案:定义网服务应放在_vti_bin.

我通常会开始通过增加他们_LAYOUTS但是那只能定义我发现的文件等等(如MSDN规范你提到).

_vti_bin是一个虚拟目录中的映射到12/ISAPI文件夹,因此,可以部署到,使用元素的解决方案中的清单。看到一个例子 在这里,

许可以下: CC-BY-SA归因
scroll top