小编Cod*_*ack的帖子

log4net.Ext.Json自定义属性不出现在json中

我们正在设置log4net属性,但它们没有出现在log4net.ext.json输出的日志文件中.

log4net.GlobalContext.Properties["OurCompany.ApplicationName"] ="fubar";
Run Code Online (Sandbox Code Playgroud)

但是,我们的日志不包含这些使用wiki中指定的默认配置.我做错了吗?

我们的log4net配置如下所示:

<log4net debug="false">
  <appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
    <file type="log4net.Util.PatternString">
      <conversionPattern value="%env{MY_LOG_DIR}\%property{OurCompany.ApplicationName}\%property{OurCompany.ApplicationName}_%date{yyyy-MM-dd}.log" />
    </file>
    <appendToFile value="true" />
    <rollingStyle value="Date" />
    <layout type="log4net.Layout.SerializedLayout, log4net.Ext.Json">
      <decorator type='log4net.Layout.Decorators.StandardTypesDecorator, log4net.Ext.Json' />
      <default />
      <!--explicit default members-->
      <remove value='message' />
      <!--remove the default preformatted message member-->
      <member value='message:messageobject' />
      <!--add raw message-->
    </layout>
  </appender>
  <root>
    <level value="DEBUG" />
    <appender-ref ref="FileAppender" />
  </root>
</log4net>
Run Code Online (Sandbox Code Playgroud)

我得到了标准字段(它被Splunk光荣地消耗了)但不是自定义字段.有什么建议?

log4net json

6
推荐指数
1
解决办法
2263
查看次数

从db加载Razor视图,但ViewBag已损坏

我正在从数据库中提取剃刀视图的标记,详情请参阅此问题:

ASP.NET MVC从数据库加载Razor视图

我可以拉取视图,但由于无法识别ViewBag,因此无法执行.

CS0103:当前上下文中不存在名称"ViewBag"

有什么建议?

这是来源:

全球:

protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            System.Web.Hosting.HostingEnvironment.RegisterVirtualPathProvider(new BearForce.Web.Core.DbPathProvider());
            RegisterGlobalFilters(GlobalFilters.Filters);
            RegisterRoutes(RouteTable.Routes);
        }
Run Code Online (Sandbox Code Playgroud)

我的路径提供者:

namespace BearForce.Web.Core
{
    public class DbPathProvider : VirtualPathProvider
    {
        public DbPathProvider()
            : base()
        {

        }

        public override bool FileExists(string virtualPath)
        {
            var repo = new Repository();

            var viewPage = repo.GetView(240, virtualPath);

            if (base.FileExists(virtualPath))
            {
                return true;
            }

            if (viewPage != null)
            {
                return true;
            }

            return false;

        }

        public override VirtualFile GetFile(string virtualPath)
        {
            if (base.FileExists(virtualPath))
            {
                return base.GetFile(virtualPath);
            }

            var …
Run Code Online (Sandbox Code Playgroud)

razor asp.net-mvc-3

5
推荐指数
2
解决办法
5617
查看次数

将规范模式序列化到数据库

好的,我们必须计算疯狂复杂的保险注册数据的资格和费率。可以根据年龄,就业特点,鞋码等来制定政策。1962年之前出生的人可能会被排除在外,除非他们居住在德克萨斯州并且有贵宾犬等。

因此,我们可以构建实现规范模式的类。我们可以嵌套和指定,或指定等等。这太好了。但是现在我们如何将其序列化到数据库?

我们可以将c#类转储到xml并保留在那。但这很脆弱,但几乎无法查询。将类序列化为xml并将其转储到大文本字段中具有一定的代码味道。

关于如何将嵌套的规范放入数据库中,是否有规范的答案?我的Google Fu使我失望。

c# specification-pattern

5
推荐指数
1
解决办法
644
查看次数

不要编译t4文件

突然,在完成TFS 2010获取之后,Visual Studio 2010正在尝试编译我的.tt文件,就像它是c#一样.

此外,无论何时我将其设置为"Build Action = None",Build Action都会被神秘地重置为Compile.这打破了我们在桌面上的构建.我可以通过关闭然后重新打开VS来获得构建以在桌面上工作.

因此,我们在TFS上的构建完全被打破了.该怎么办?

该模板生成一个(完全正常)的c#文件,因此我需要构建项目.

我尝试将文件扩展名从.tt更改为.donotbuilddammit,但这没有任何效果.

t4 visual-studio

4
推荐指数
1
解决办法
908
查看次数

Visual Studio代码生成 - 如何处理开发人员编辑类文件

因此,由于可视化和建模功能包,我可以构建一个uml模型图并生成一堆类.

但现在呢?据推测,我的开发人员将为这些类添加代码.有用的代码,有价值的代码,以及模板本身表明:

//     Changes to this file will be lost if the code is regenerated.
Run Code Online (Sandbox Code Playgroud)

那么这里最好的解决方案是什么?我可以让建模项目反映实际类的变化吗?我应该生成部分课吗?修改默认模板以读取类文件而不是自动生成已修改的任何内容?我应该告诉开发人员不要在痛苦的情况下编辑模型文件......好吧,痛苦?

谢谢你的提示.

uml code-generation visual-studio-2010

3
推荐指数
1
解决办法
718
查看次数