C# 如何在Sitecore中限制发布而不删除

C# 如何在Sitecore中限制发布而不删除,c#,sitecore,publishing,sitecore7.2,web-forms-for-marketers,C#,Sitecore,Publishing,Sitecore7.2,Web Forms For Marketers,Sitecore相对较新。我已经在这里和dev.sitecore.net上彻底搜索了这个主题,还没有看到这些主题的重叠之处 我们有一个为市场营销人员制作的网络表单。我们使用内容交付服务器,因此通过此表单上载的文件保存上载到web的图像文件,这是唯一的位置 问题是,如果我们从主文件夹或任何父文件夹发布该文件夹,因为上传的项目不在主文件夹中,那么所有的项目都会被删除,我们需要继续保持这些内容。发布限制,使文件夹不可发布,从我的理解和所看到的测试意味着同样的事情。。。我们希望能够执行的完整站点发布将删

Sitecore相对较新。我已经在这里和dev.sitecore.net上彻底搜索了这个主题,还没有看到这些主题的重叠之处

我们有一个为市场营销人员制作的网络表单。我们使用内容交付服务器,因此通过此表单上载的文件保存上载到web的图像文件,这是唯一的位置

问题是,如果我们从主文件夹或任何父文件夹发布该文件夹,因为上传的项目不在主文件夹中,那么所有的项目都会被删除,我们需要继续保持这些内容。发布限制,使文件夹不可发布,从我的理解和所看到的测试意味着同样的事情。。。我们希望能够执行的完整站点发布将删除这些文件,因为这些文件不在文件夹中,并且已丢失,或者文件夹未发布,这也会删除它们


处理此类数据的最佳方法是什么?我喜欢一个简单的解决方案,比如能够简单地防止发布接触到该文件夹,但不能将其从web上删除。。。否则,是否有办法将文件上载调整到媒体库之外?现在,如果我在表单设计器中选择文件上载字段,我只能选择媒体库文件夹中可以保存文件的位置。。。如果我们能在另一个数据库中选择一个位置会更好吗?除了劫持整个过程并通过c后端重写它之外,有没有一种sitecore方法可以做到这一点?如果这是最好的方法,那么从哪里开始挖掘这个过程可以被捕获呢?

你的问题没有一个好的答案。实际上,您的问题是关于如何存储用户生成的内容


网上已经有很多关于它的文章和讨论

检查


你可以从文章中看到,有很多方法可以用来实现你想要的。您只需选择一个能够以最佳方式满足您的期望和需求的内容。

问题不是用户生成的内容,而是WFFM模块的配置。在CD服务器上安装WFFM时,需要将remoteWfmService连接字符串配置为指向CM服务器上的WFFM远程服务。这确保了任何操作都在CM服务器上运行,因此上传的任何文件或生成的内容都会在主数据库中执行

用户生成或以其他方式发布的任何内容都会像正常情况一样发布到CD服务器/web数据库。这还有一个优点,即如果您希望删除某些内容,例如用户评论,您可以从CM服务器中删除,然后再次发布

要在以下连接字符串处配置远程服务:

<add name="remoteWfmService" connectionString="url=http://[masterserver]/sitecore%20modules/shell/Web%20Forms%20for%20Marketers/Staging/WfmService.asmx;user=[domain\username];password=[password];timeout=60000" />
如果已定义wfm连接字符串,则可以删除该字符串

您还需要确保保存操作没有勾选“客户端操作”复选框,否则该操作将在CD服务器而不是CM服务器上运行


您可以在的第37页的“多服务器环境”部分找到更多详细信息。

在线提供了大量关于它的文章和讨论。我认为用词不同。用户生成的内容您应该将其作为答案发布。注释转换为答案如果您的WFFM模块设置不正确,则应将内容上载到主数据库,并将内容发布到CD服务器(如果您希望这样做)。如果我们的生产环境只有web数据库,由于这只是内容交付,我们如何设置表单以保存回另一台服务器?似乎这比简单地将其保存在同一个实例,即不同的数据库上更不可行?