我在SharePoint网站中公开了一个Web服务,例如http://server/_vti_bin/subdir/mywebservice.asmx
在网络服务方法中,SPContext.Current
似乎为空。
(有趣的是,我正在查看Inside Windows SharePoint Services 3.0第5章中的一个示例,他们在Web服务中使用SPContext.Current
!)
知道我错过了什么吗?提前谢谢。
答案 0 :(得分:2)
我看到SPContext.Current = null的唯一一次是在不存在的虚拟位置(即只有一半正确的URL)调用webservice时。
在您的问题规范中,您提到“_vti_bin / subdir”。我还没有在SharePoint中托管的WebService中看到过这个subdir构造(免责声明:我的知识仅限于SharePoint中自定义Web服务的2或3个工作实现)
通常,你
它可能根本不相关,但我仍然试图先从_vti_bin开始工作,然后然后尝试使用子文件夹。 SharePoint的url虚拟化可能很痛苦。
答案 1 :(得分:0)
您的子目录是否可能设置为Web应用程序,因此在不同的上下文中运行?
答案 2 :(得分:0)
你是如何打电话给网络服务的?这是来自javascript / jquery的ajax调用吗?如果是,您是否在Web服务类上添加了ScriptService属性?
[System.Web.Scripts.Services.ScriptService]
public class SimpleWebService : System.Web.Services.WebService
{
...
...
}