当我使用时,我在Visual Studio中收到此错误@Html.Sitecore
:
"System.Web.Webpages.Html.Htmlhelper"不包含"Sitecore的"和最佳推广方法重载"Sitecore.Mvc.HtmlHelperExtensions.Sitecore(System.Web.Mvc.HtmlHelper)"的定义有一些无效arguments.`
但是,一旦部署,它确实运行没有任何问题.
我正在使用Sitecore 7.2和MVC 5.1.
我读过的文章涉及类似的错误消息,请谈谈文件夹文件的system.web.webPages.razor
部分.这就是它在我的解决方案中的表现.Views
web.config
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
Run Code Online (Sandbox Code Playgroud)
最初我以为我只需要重新启动VS,但这不起作用.有没有人有什么建议.
编辑 这是标准的Sitecore 7.2安装,因此具有以下绑定重定向:
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" xmlns="urn:schemas-microsoft-com:asm.v1"/>
<bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.1.0.0" xmlns="urn:schemas-microsoft-com:asm.v1"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" xmlns="urn:schemas-microsoft-com:asm.v1"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" xmlns="urn:schemas-microsoft-com:asm.v1"/>
</dependentAssembly>
Run Code Online (Sandbox Code Playgroud)
另外,在查看visual studio的输出时,还有一个我之前没有发现的错误:
Instance argument: cannot convert from 'System.Web.WebPages.Html.HtmlHelper' to 'System.Web.Mvc.HtmlHelper'
编辑2
我不再认为这是Sitecore MVC问题.我得到了类似的错误@Html.ActionLink("xxx", "xxx")
.其他人在VS2012中看到了这个问题,但我使用的是2013年.
编辑3 …
我们遇到的问题是EventQueue表有时会非常快速地增长,每秒最多3k条记录,并且永远不会清除记录(截至目前为3000万条记录).我们的环境有如下设置:
Sitecore 7.2
我有几个问题,所以我将它们分解为单独的行项目.
当为所有CD服务器发布发布时,更新内容直接从CM数据库发送到CD数据库(所有正确的表),或者是否发送到CD数据库中的EventQueue表,并且CD服务器有一个作业/查看表并根据需要更新的任务.
根据第一个问题的答案,如果有2个CD服务器指向同一个DB,他们如何知道他们是否应该处理EventQueue表(他们不会每个处理表并重复工作)
为什么没有清除EventTable表?如何清除,何时清除?
我目前正在开发一个项目,要求我设置一个非常简单的sitecore工作流程.在修改现有项目以使用我的新工作流程时,我遇到了一些困难.这就是我做的:
当contentmanager开始编辑项目时,工作流程会创建一个新版本,并在单击提交按钮时发布项目.
我将这些工作流程项添加到模板的标准值:
下一步是在现有项目上设置工作流程设置.幸运的是,我们可以使用sitecore-powershell为我们这样做.
function SetWorkflow($item)
{
$item.__Workflow = "{DE29E564-3157-4CAB-81B1-87DF2E983517}";
$item."__Workflow state" = "{27633BF0-B76A-4450-A139-BA53F6943778}";
}
get-childitem . -recurse -Language * | foreach-object { SetWorkFlow($_) }
Run Code Online (Sandbox Code Playgroud)
此脚本运行没有错误.
现在开始有趣了:当我打开项目时,我在工作流和工作流状态属性上运行此脚本没有改变.奇怪的是,编辑说空值是从标准值继承的,虽然标准值不是空的,我设置了这些值!
你会说脚本可能已经失败并且没有设置任何值.除非我在sitecore-powershell中查看值,否则我可以看到值存在.
get-childitem . -recurse -Language * | Format-Table Id, Language, __Workflow, "__Workflow state"
ID Language __Workflow __Workflow state
-- -------- ---------- ----------------
{208D79B1-5B42-4713-A7F9-F2109588F639} en {DE29E564-3157-4CAB-81B1-87DF2E983517} {27633BF0-B76A-4450-A139-BA53F6943778}
{208D79B1-5B42-4713-A7F9-F2109588F639} nl-NL {DE29E564-3157-4CAB-81B1-87DF2E983517} {27633BF0-B76A-4450-A139-BA53F6943778}
{3F3B1132-02DA-4E75-928F-BDB8AED5C3CD} nl-NL {DE29E564-3157-4CAB-81B1-87DF2E983517} {27633BF0-B76A-4450-A139-BA53F6943778}
{8AF23DC5-E7FE-47E3-AC65-AA3D41D81F97} en {DE29E564-3157-4CAB-81B1-87DF2E983517} {27633BF0-B76A-4450-A139-BA53F6943778}
{8AF23DC5-E7FE-47E3-AC65-AA3D41D81F97} nl-NL {DE29E564-3157-4CAB-81B1-87DF2E983517} {27633BF0-B76A-4450-A139-BA53F6943778}
etc.etc.
Run Code Online (Sandbox Code Playgroud)
我尝试手动设置项目的工作流程和工作流程状态属性.这有点工作,我可以通过工作流程一次.添加新版本时,工作流和工作流状态属性默认返回其"空"标准值,这会破坏该项目的工作流程.
有谁知道这里发生了什么?如何一劳永逸地设置工作流和工作流状态属性?
它突然间停止了工作.我不知道出了什么问题,是什么导致了这种情况:
无法实例化事件处理程序.键入:Sitecore.Publishing.HtmlCacheClearer.方法:ClearCaches(方法:Sitecore.Events.Event + EventSubscribers.Add(String eventName,XmlNode configNode)).
我尝试了所有可以使它工作的东西,但事实并非如此
任何人都可以告诉我这个的原因以及可能的解决方案.我是Sitecore的新手.
更新publish:end
和publish:end:remote
<event name="publish:end">
<handler type="Sitecore.Publishing.HtmlCacheClearer, Sitecore.Kernel" method="ClearCaches">
<sites hint="list">
<site>website</site>
</sites>
</handler>
</event>
<event name="publish:end:remote">
<handler type="Sitecore.Publishing.HtmlCacheClearer, Sitecore.Kernel" method="ClearCaches">
<sites hint="list">
<site>website</site>
</sites>
</handler>
</event>
Run Code Online (Sandbox Code Playgroud) 嗨,当我尝试在sitecore 7.2中安装Social Connected 2.1时,我收到此错误
找不到配置节点:contentSearch/configuration/defaultIndexConfiguration/analyzer
无法找到解决方案.
任何人都可以帮我解决这个问题.
提前致谢!
我正在使用Sitecore Glass Mapper来创建我正在设置的新项目.我们正在使用Sitecore 7.2,最新版本的Team Development for Sitecore(TDS)代码生成和最新版本的玻璃.
我试图执行的代码:
var b = new SitecoreContext();
var c = b.GetCurrentItem<T01_Homepage>();
Run Code Online (Sandbox Code Playgroud)
b不为空.c为空.
var d = b.GetItem<T01_Homepage>("path")
Run Code Online (Sandbox Code Playgroud)
d为空.
我在GlassMapperScCustom中添加了我的程序集:
public static IConfigurationLoader[] GlassLoaders(){
var attributes = new AttributeConfigurationLoader(new[] { "Company.Framework.Websites.Corporate", "Company.Framework.Core", "Company.Framework.Common" });
return new IConfigurationLoader[] { attributes };
}
Run Code Online (Sandbox Code Playgroud)
当我查看b.GlassContext.TypeConfigurations时,我所有的模型都在那里.
我认为它可能是一个语言问题,因为该网站是荷兰语,也许错误的语言将被错误地解决.事实并非如此.
我禁用了WebActivator并在我的Global.asax Application_Start方法中添加了GlassMapperSc.Start().
我们也使用Autofac作为DI框架.但如果没有它,它仍然无法正常工作,如上所述.此外,当我创建自己的自定义模型而没有生成TDS代码时,结果GetCurrentItem<T>
为null.
有谁知道如何解决这个问题?
我想限制Sitecore的项Web API将数据发送到身份验证的用户只能与按文件,我们需要在通过用户名和密码http request header
为X-Scitemwebapi-Username
:X-Scitemwebapi-Password
为此,我使用下面的代码:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://scapidemo.local/-/item/v1/?sc_itemid={110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}&sc_database=master");
request.Headers["X-Scitemwebapi-Username"] = "admin";
request.Headers["X-Scitemwebapi-Password"] = "b";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Response.Write(String.Format("Content length is {0}", response.ContentLength));
Response.Write(String.Format("Content type is {0}", response.ContentType));
// Get the stream associated with the response.
Stream receiveStream = response.GetResponseStream();
// Pipes the stream to a higher level stream reader with the required encoding format.
StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);
Response.Write("<br /> Response stream received. <br />");
Response.Write(readStream.ReadToEnd());
Run Code Online (Sandbox Code Playgroud)
在Sitecore.ItemWebApi.config
我添加了我的网站设置如下:
itemwebapi.mode="StandardSecurity"
itemwebapi.access="ReadOnly" …
Run Code Online (Sandbox Code Playgroud) 我们有一个多站点解决方案,我们希望为不同的站点建立不同的RTE配置文件.在这些配置文件中,我们希望能够在媒体库中设置特定于站点的Images文件夹.我们还想为"插入链接"按钮设置站点特定的根文件夹.
这可能是"开箱即用"吗?如果是这样,怎么样?
在 Sitecore 中,我构建了两个自定义多重列表,其中第二个列表取决于第一个列表。唯一的问题是,选择第一个后,我必须在第二个多列表过滤项目之前保存该项目。
我的问题是,有人知道如何在 Sitecore 上创建两个自定义多重列表,其中第二个列表在选择第一个列表中的项目后自动过滤(无需保存事件),或者我可以覆盖哪个事件来执行此操作?
有没有办法根据代码背后的表示值获取项目的渲染html?在最近的项目中,这需要完成,我们正在利用另一个看起来很浪费的请求来抓取我们自己的网站.
sitecore ×10
sitecore7.2 ×10
sitecore7 ×3
c# ×2
sitecore-mvc ×2
asp.net ×1
asp.net-mvc ×1
glass-mapper ×1
powershell ×1
solr ×1
tds ×1
webforms ×1
workflow ×1