我可以通过在源字段中直接指定它们来填充sitecore中的droplist,Apples|Oranges|Grapes并将它们显示在模板上,而不是实际为每个值创建项目,然后编写指向父项的查询?
我有一个Sitecore网站,我希望将网站访客帐户存储在外部asp.net会员数据库中,但保持Sitecore内容编辑/管理员通过Sitecore界面进行管理(因此存储在'Core'数据库中).
我已阅读以下论坛帖子 http://sdn.sitecore.net/SDN5/Forum/ShowPost.aspx?postid=35305
其中提到了以下文件 http://sdn.sitecore.net/upload/sitecore6/62/membership_providers_sc62-a4.pdf http://sdn.sitecore.net/upload/sitecore6/62/security_api_cookbook_sc60-62-a4. pdf http://sdn.sitecore.net/upload/sdn5/modules/ad/low-level_sitecore_cms_security_and_custom_providers-a4.pdf
但这些似乎都没有提供我需要做的全貌.
我目前已将该<membership>部分设置为使用"切换器"提供程序(指向我的会员数据库的相应提供程序),并且该<roleManager>部分还设置为再次使用切换器提供程序,并指向所述会员数据库的相应提供程序.
到目前为止,我只是成功打破了Sitecore桌面中的用户管理器(Item has already been added. Key in dictionary: 'extranet\Anonymous' Key being added: 'extranet\Anonymous'如果Sitecore创建了Extranet\Anonymous帐户,或者Object reference not set to an instance of an object.如果我删除了该用户帐户,则会抛出异常.
作为背景信息我使用Sitecore 6.5,我的网络配置的相关部分如下
<membership defaultProvider="switcher">
<providers>
<clear/>
<add name="sitecore"
type="Sitecore.Security.SitecoreMembershipProvider, Sitecore.Kernel"
realProviderName="myProvider"
providerWildcard="%"
raiseEvents="true"/>
<add name="sql"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="core"
applicationName="sitecore"
minRequiredPasswordLength="1"
minRequiredNonalphanumericCharacters="0"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
maxInvalidPasswordAttempts="256"/>
<add name="switcher"
type="Sitecore.Security.SwitchingMembershipProvider, Sitecore.Kernel"
applicationName="sitecore"
mappings="switchingProviders/membership"/>
<add name="myProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
applicationName="sitecore"
connectionStringName="myDatabase"
minRequiredPasswordLength="1"
minRequiredNonalphanumericCharacters="0" …Run Code Online (Sandbox Code Playgroud) 在web.config中设置的sitecore keepalive任务调用'keepalive'url配置为默认每小时运行一次:
<agent type="Sitecore.Tasks.UrlAgent" method="Run" interval="01:00:00">
<param desc="url">/sitecore/service/keepalive.aspx</param>
<LogActivity>true</LogActivity>
</agent>
Run Code Online (Sandbox Code Playgroud)
如果默认的IIS应用程序池超时为20分钟,这是否意味着keepalive功能无法在其默认配置状态下工作?即一个闲置的站点最多会调用一次此任务,可能会使站点保持活动状态20分钟,然后它将超时并卸载,直到真正的外部请求到达为止.
除非我遗漏了某些内容,否则此设置应设置为20分钟以内(或者更确切地说是20分钟减去调度程序间隔),以便按预期工作,对吧?
任何人都可以帮我解决我在尝试注册新用户时遇到的问题吗?它说:"您无法访问系统.如果您认为这是错误的,请与系统管理员联系."
我创建了新角色,为该角色添加了成员,双重检查了用户的密码并启用了用户.我还将域名设置为sitecore.
有任何想法吗?谢谢!
任何人都可以告诉我Sitecore中的Renderings和Sublayouts之间的区别以及何时应该使用它们?当你使用MVC时它会有什么不同吗?
我最近经历了很多针对Sitecore的教程/视频,有时将演示文稿创建为Sublayout,有时候渲染这两种渲染在将其链接到MVC视图时似乎都是一样的.必须有一些差别,但我没有找到任何准确解释它是什么以及何时应该使用每一个的东西.
我使用Sitecore 7.2与自定义Lucene索引和Linq.我需要给精确匹配额外的(最大)重量.
示例:用户搜索"彩虹上的某个地方"
结果应该包括含有"彩虹"一词的项目,但是包含精确和完整术语"彩虹上某处"的项目应该给予最大权重.它们将作为最佳结果显示给用户.即包含整个短语的项目应比包含"彩虹"一词的项目重100倍.
我可能需要通过与"通配符匹配"分开收集"词组匹配"来处理ContentSearch API之外的排名逻辑,这很好.
这是我现有的代码,为简洁而截断.代码有效,但完全不符合我所描述的短语匹配.
using (var context = ContentSearchManager.GetIndex("sitesearch-index").CreateSearchContext())
{
var pred = PredicateBuilder.False<SearchResultItem>();
pred = pred
.Or(i => i.Name.Contains(term)).Boost(1)
.Or(i => i["Field 1"].Contains(term)).Boost(3)
.Or(i => i["Field 2"].Contains(term)).Boost(1);
IQueryable<SearchResultItem> query = context.GetQueryable<SearchResultItem>().Where(pred);
var hits = query.GetResults().Hits;
...
}
Run Code Online (Sandbox Code Playgroud)
如何使用Sitecore.ContentSearch.Linq API执行精确的词组匹配?
我在页面上有一个简单的ASP .Net文件上传控件.我有以下web.config设置
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="524288000" />
</requestFiltering>
</security>
</system.webServer>
<system.web>
<httpRuntime maxRequestLength="524288" executionTimeout="120000" />
</system.web>
Run Code Online (Sandbox Code Playgroud)
我在我的开发盒上使用IIS 7.5,在Web服务器上使用IIS 7.
如果我上传大小为7MB的文件,它工作正常.
但是当我上传10MB的文件时,它会抛出以下异常
我在页面上有一个简单的ASP .Net文件上传控件.我有以下web.config设置
Exception Details: System.Web.HttpException: Maximum request length exceeded.
Stack Trace:
[HttpException (0x80004005): Maximum request length exceeded.]
System.Web.HttpRequest.GetEntireRawContent() +8772610
System.Web.HttpRequest.GetMultipartContent() +62
System.Web.HttpRequest.FillInFormCollection() +168
System.Web.HttpRequest.get_Form() +68
System.Web.TraceContext.InitRequest() +910
System.Web.TraceContext.VerifyStart() +143
System.Web.HttpApplication.AssignContext(HttpContext context) +118
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +464
Run Code Online (Sandbox Code Playgroud)
任何帮助将受到高度赞赏.我知道这个问题已被多次询问过,但这些解决方案都不适合我.
我们正在使用Sitecore内容管理系统.
我正在尝试在Sitecore的父页面上列出具有设置模板的项目.到目前为止,我可以为孩子们做这件事,但我也想包括孩子们的孩子,即如果它有所选择的模板,那么父母下面的任何东西,这是我在c#文件中的代码:
lvThing.DataSource = context.Children.Where(x => x.TemplateName == "cool template").ToList<Item>();
lvThing.DataBind();
Run Code Online (Sandbox Code Playgroud) 我正在使用sitecore 6.6.0(rev.120918).从sitecore管理员门户,我去关闭项目的Publishable标志(见图).

在此之后,Sitecore.Data.Database.GetDatabase("master").GetItem("{itemID}")返回null.
如果我再次打开Publishable标志,则GetItem()返回正确的项目.这种行为的原因是什么?可发布设置控制发布到Web数据库的功能.为什么它会影响GetItem()对master数据库的API调用?
我正在尝试使用Administrative priveleges安装SIM版本13 rev 1404021
当我点击格兰特按钮时,它给我一个错误,"你没有必要的权限设置".
此外,我已将网络服务,IUSR,IIS_USR和网络的完全权限授予该文件夹
C:\的Inetpub\wwwroot文件
请告诉我,除了成功运行sitecore实例管理器之外,还需要获得其他权限.
sitecore ×10
asp.net ×3
sitecore6 ×2
asp.net-mvc ×1
c# ×1
file-upload ×1
iis-7 ×1
linq ×1
lucene ×1
sitecore7 ×1