【发布时间】:2012-12-06 02:47:57
【问题描述】:
我拥有以两种模式运行的代码(使用 SharePoint 对象模型):
- 从普通控制台应用程序或单元测试运行程序运行。在这种情况下,代码有效。
- 在 WCF 服务中运行。 WCF 服务托管在控制台应用程序中。没有特殊的安全配置,一切都是默认的。执行失败。
这两种模式在执行上可能有什么不同,尤其是与安全相关的(例如上下文、主体)?
SharePoint 对象模型是出现问题的地方,但这不是问题的主要目标。更有趣的是一般情况下的差异。如果您需要更多细节,请告诉我,我会更新问题。
到目前为止的差异:
- Thread.CurrentThread.IsThreadPoolThread (#1 - false, #2 - true),显然来自线程池
【问题讨论】:
-
发布失败详情会很有帮助。
-
失败是特定于 SharePoint 的,SharePoint 从不提供真正意义上的错误消息。例如,在我的情况下,我正在向资源添加声明,并且错误消息是“用户不存在或不是唯一的”。这是因为声明实际上是 SharePoint 中的用户对象。错误也是 COMException,所以我什至无法反编译以查看真正的问题。
-
WCF 控制台应用程序是否在 SharePoint 服务器上运行?客户端对象模型,还是服务器对象模型?
-
SharePoint Server 上的服务器对象模型。现在我可以说更多了。如果我从 WCF 服务创建完整的线程,并且在这个线程中运行我的代码,它也可以工作。有线。
-
我可能需要从这个问题中删除任何提及共享点的内容。
标签: .net wcf sharepoint runtime