标签: episerver

正确使用log4net的方法(记录器命名)

有两种配置和使用log4net的方法.第一个是我可以配置自己的appender和相关的记录器:

<!-- language: xml -->

<appender name="myLogAppender" type="log4net.Appender.RollingFileAppender" >
    <file value="Logs\myLog.log" />
    <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date %level - %message%n" />
    </layout>
</appender>

<logger name="myLog">
    <level value="All"></level>
    <appender-ref ref="myLogAppender" />
</logger>
Run Code Online (Sandbox Code Playgroud)

然后,当我想在日志中写一些东西时,我可以执行以下操作:

ILog log = LogManager.GetLogger("myLog");
log.Info("message");
Run Code Online (Sandbox Code Playgroud)

另一种使用方法是将root配置为我想要的详细信息:

<!-- language: xml -->

<root>
    <level value="Error" />
    <appender-ref ref="myLogAppender" />
</root>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我可以记录这样的消息:

ILog log = LogManager.GetLogger(typeof(Bar));
log.Info("message");
Run Code Online (Sandbox Code Playgroud)

第二种方法的好处是您可以动态启用或禁用某些消息.但问题是我正在使用EPiServer CMS进行开发,它有自己的使用log4net的日志记录系统,如果我在根级别启用信息日志记录,那么将编写大量系统日志.

你如何使用log4net?系统的每个部分都在自己的记录器中写入,或者所有内容都是用默认记录器编写的,配置决定下一步做什么?

.net c# logging log4net episerver

80
推荐指数
3
解决办法
13万
查看次数

选择CMS:EPiServer vs Orchard vs SiteCore vs Umbraco

我越来越注意到正在使用的内容管理系统的数量.我对SiteCore有一些熟悉.我读过一些关于Umbraco的文献.前几天我才刚刚收到乌节的风.我只听到过有关EPiServer的正面反馈.我很快就会进入一个使用它的角色.

这些功能和价格差异很大吗?是什么导致你选择其中一个(或几个)?

编辑

我在这里简要回顾了所谓的免费CMS:免费的Microsoft兼容内容管理系统

在开发一个50k页的网站时,我放弃了Orchard的原因:

Orchard CMS导入工具太慢了.它一次只能接受小批量生产.最初,导入1000条记录需要8分钟.因此,根据该原则,我预计导入所有记录可能需要7个小时.不幸的是,随着更多记录被插入到数据库中,我开始收到性能问题.我甚至开始减少批量大小,这只是暂时在早期阶段.( 对果园说不)

umbraco sitecore episerver content-management-system orchardcms

17
推荐指数
2
解决办法
2万
查看次数

EPiServer开发

除了Episerver.com

使用EPiServer开发的人使用哪些其他网站作为开发资源!?一直在使用coderesort.com,但我发现它缺乏如何做事的例子.

非常感谢,

Ĵ

api sdk episerver

9
推荐指数
2
解决办法
1605
查看次数

使用Xforms - MVC应用程序进行客户端验证

我正在尝试使用episerver xform 编译的html 执行客户端表单验证,如下所示:http://codepen.io/anon/pen/ojGGJw 如何实现这一目标的任何指导?我正在考虑使用.validate库,但如果我们通过epi向表单添加新控件,我将遇到问题.我还尝试使用这样的AJAX调用:

 $.ajax({
        url: "/industry/XFormPost?XFormId=0643b992-56c6-40a5-91eb-c557443630e0&failedAction=Failed&successAction=Success&contentId=36",
        data: $(this).serialize(),
        type: "POST",
        success: function () {
            alert('Hello this is a valid form');
        }
    });
Run Code Online (Sandbox Code Playgroud)

它会触发事件,但不会将我的表单保存到数据库中.即使我通过的所有领域都是有效的

episerver client-side-validation

9
推荐指数
1
解决办法
485
查看次数

结帐后"无效的令牌","在类,结构或接口中"

我在检查出Subversion后编译EPiServer Web应用程序时遇到问题.

我收到这个错误

编译器错误消息:CS1519:类,结构或接口成员声明中的标记','无效

来源错误:

Line 116:    }
Line 117:    
Line 118:    public virtual EPiServer.Personalization.SubscriptionInfo, EPiServerSubscription Info {
Line 119:        get {
Line 120:            return ((EPiServer.Personalization.SubscriptionInfo, EPiServer)this.GetPropertyValue("SubscriptionInfo")));
Run Code Online (Sandbox Code Playgroud)

源文件:

c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\956e6fc5\66c11597\App_Code.9_fan95p.0.cs    Line: 118 
Run Code Online (Sandbox Code Playgroud)

从错误中可以看出,此文件位于"Temporary ASP.NET Files"文件夹中,是构建过程的一部分.这不是我的源代码.

我看到这个问题表明web配置包含类型引用

在"Namespace.ClassName,AssemblyName"格式中指定.

所以我进入了我的web.config并更改了部分

...
<profile ...>
    <properties>
        ...
        <add name="SubscriptionInfo"
             type="EPiServer.Personalization.SubscriptionInfo, EPiServer"
             provider="SqlProfile" />
        ...
Run Code Online (Sandbox Code Playgroud)

...
<profile ...>
    <properties>
        ...
        <add name="SubscriptionInfo" 
             type="EPiServer.Personalization.SubscriptionInfo"
             provider="SqlProfile" />
        ...
Run Code Online (Sandbox Code Playgroud)

这删除了上面的立即错误,但后来我得到了不同类型的相同错误.所以我浏览了" Namespace.TypeName,AssemblyName "格式的所有类型,并删除了" ,AssemblyName ".这停止了​​所有CS1519错误,但后来我开始得到CS0234:

编译器错误消息:CS0234:名称空间'EPiServer'中不存在类型或命名空间名称'Personalization'(您是否缺少程序集引用?)

源错误:
第116行:}
第117行:
第118行:公共虚拟EPiServer.Personalization.SubscriptionInfo SubscriptionInfo {
第119行:获取{
第120行:返回((EPiServer.Personalization.SubscriptionInfo)(this.GetPropertyValue("SubscriptionInfo"))) ; …

svn asp.net episerver

7
推荐指数
1
解决办法
1万
查看次数

在Episerver MVC中渲染块

我有一个问题,我在最后几天一直在努力.我正在尝试理解在使用MVC时块的渲染如何在Episerver 7中工作.

我目前的实际设置如下:

我创建了一个名为"TeaserBlock"的块类型,它具有以下几个属性:

[ContentType(DisplayName = "TeaserBlock", GUID = "571582c4-6b99-4c0a-b000-f62265e312a9", Description = "A Teaser Block for show!")]
public class TeaserBlock : BlockData
{
    [Display( GroupName = SystemTabNames.Content, Order = 1)]
    public virtual string TeaserHeading { get; set; }

    [Display(GroupName = SystemTabNames.Content, Order = 2)]
    public virtual string TeaserText { get; set; }    
}
Run Code Online (Sandbox Code Playgroud)

为此,我在Views/Shared /中有一个相应的局部视图,名为TeaserBlock.cshtml.我想这个以视图模式渲染块?

我最大的问题是让"页面编辑"工作,经过一些尝试和谷歌搜索后,我终于使用以下代码:

[TemplateDescriptor(Inherited = true,
    Tags = new string[] { RenderingTags.Preview },
    TemplateTypeCategory = TemplateTypeCategories.MvcController)]
public class PreviewBlockController : ActionControllerBase, IRenderTemplate<BlockData>
{
    public ActionResult Index(BlockData currentBlock) …
Run Code Online (Sandbox Code Playgroud)

episerver c#-4.0 episerver-7

7
推荐指数
1
解决办法
8936
查看次数

如何在EPiServer 7中手动重建搜索索引(Index,Main,Ref文件夹)

我在EPiServer 6 R2中看到了一些用于仪表板的自定义小工具和一个管理模式的插件,可以让您重建搜索索引.

EPiServer 7有哪些选择?

是否有任何我尚未发现的官方插件/小工具或其他内置功能?

是否可以在没有任何小工具/插件的情况下手动重建整个索引?怎么样?

什么是最常用的方法?

episerver episerver-7

7
推荐指数
1
解决办法
6574
查看次数

EpiServer如何获取特定页面的链接URL?

我需要使用起始页上的链接按钮绑定博客页面的LinkURL.我所做的实际上是找到了Page ID并使用它获取了一个Page Reference.

PageReference BlogPageReference = new PageReference(21);

PageData BlogPage = GetPage(BlogPageReference);

var url = BlogPage.LinkURL;
Run Code Online (Sandbox Code Playgroud)

这非常简单,但我不满意页面ID是硬编码的.有没有更好的方法来实现这一点,例如获取Page by Page名称?或任何其他方式?

提前致谢 :)

episerver episerver-7

7
推荐指数
1
解决办法
3951
查看次数

Episerver - 为什么BlockData不实现IContent

有谁知道BlockData类为什么不直接实现IContent?我知道在从数据库中检索BlockData期间,由Castle创建的代理实现了IContent.

如果StackOverflow不适合此类问题,请移动它.

episerver episerver-7

7
推荐指数
1
解决办法
2206
查看次数

如何以编程方式检索EPi Server网站的所有已启用语言的列表?

我只想获得EPi Server网站所有已启用语言的列表(在管理模式下的"管理网站语言"面板中启用),并且最好还能够检索标志图标的路径,当然还有文化名称/ ID.

我正在使用EPiServer 6 R2,所以如果代码适用于该版本,那将是可爱的.把我指向正确的方向也会很棒.

c# culture localization episerver

6
推荐指数
2
解决办法
4002
查看次数