我正在尝试为SharePoint 2010/2013 (服务器和基础)实现一个VirtualPathProvider。到目前为止,我已经实现了System.Web.Hosting.VirtualPathProvider、System.Web.Hosting.VirtualFile和System.Web.Hosting.VirtualDirectory的子类。
我想使用一个带有FeatureReceiver类的特性来向HostingEnvironment注册新的VPP。但由于我已经实现了这行
HostingEnvironment.RegisterVirtualPathProvider(new MyVPProvider());
在FeatureActivated方法中,VisualStudio的调试部署失败,出现以下错误:
Error occurred in deployment step 'Activate Features': Operation is not valid due to the current state of the object.
我不知道我做错了什么。也许FeatureReceiver不是注册VPP的地方?
我已经在网上搜索了一个教程或例子,但我没有找到任何合适的。任何关于如何为SharePoint开发VirtualPathProvider的提示都是非常感谢的!提前谢谢。
--
罗伯特·沃格尔
发布于 2014-04-07 18:00:25
您需要编写一个IHttpModule实现来注册您的虚拟路径提供程序ones。也许这个链接对你有帮助:SharePoint 2007 as a WCF host - Step #4, Write a Virtual Path Provider
using System.Web;
public class MyVirtualPathProviderRegisterModule : IHttpModule
{
static bool _Initialized = false;
static object _Lock = new object();
public void Init(HttpApplication app)
{
if (!_Initialized)
lock(_Lock)
if(!_Initialized)
{
HostingEnvironment.RegisterVirtualPathProvider(new MyVirtualPathProvider());
_Initialized = true;
}
}
public void Dispose() {}
}https://stackoverflow.com/questions/17698907
复制相似问题