小编Xav*_* W.的帖子

Log4Net在一个单独的配置文件中

我需要为新项目配置log4net.当我在App.config文件中保存所有信息时,一切正常.我想将log4net的配置放在一个单独的配置文件中(取App1.config)

这是我的app.config工作完美:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <log4net>
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date{ABSOLUTE} [%logger] %level - %message%newline%exception"/>
      </layout>
    </appender>
    <appender name="FileAppender" type="log4net.Appender.FileAppender">
      <file value="C:\Logs\MylogText.txt"/>
      <appendToFile value="true"/>
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date{ABSOLUTE} [%logger] %level - %message%newline%exception"/>
      </layout>
    </appender>
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="C:\Logs\RollinglogText.txt"/>
      <appendToFile value="true"/>
      <rollingStyle value="Size"/>
      <maximumFileSize value="10MB"/>
      <maxSizeRollBackups value="5"/>
      <staticLogFileName value="true"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date{ABSOLUTE} [%logger] %level - %message%newline%exception"/>
      </layout>
    </appender>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="ConsoleAppender"/>
      <appender-ref ref="FileAppender"/>
      <appender-ref …
Run Code Online (Sandbox Code Playgroud)

c# xml logging log4net

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

发送列表时的'`'字符和RestSharp请求体

我正在尝试使用RestSharp向我的实体发布请求.

但是我收到一个错误:

"System.Xml.XmlException : The '`' character, hexadecimal value 0x60, 
cannot be included in a name."
Run Code Online (Sandbox Code Playgroud)

我将列表放在查询的正文中.

var strList = new List<string>();
      strList.Add("one");
      strList.Add("two");

restRequest.AddBody(strList);
Run Code Online (Sandbox Code Playgroud)

它似乎不喜欢通用序列化的方式.有没有建议如何将列表传递给请求?

c# asp.net generics serialization restsharp

11
推荐指数
2
解决办法
2008
查看次数

在Codeigniter项目中生成REST文档

我有一个使用Codeigniter的REST Web服务并使用这个库:https://github.com/chriskacerguis/codeigniter-restserver

我想为这个Web服务生成文档.我希望使用Swagger UI来生成此文档.但是,我没有找到任何文档如何使用Swagger与Codeigniter.

使用这两种技术的唯一项目是这一项,但没有一份好的文档:https://github.com/panxp/codeigniter-swagger

有人可以使用这两种技术粘贴一个例子,或者给我一个良好文档的链接?当然,如果有另一个好的lib来生成文档,如果它可以与Codeigniter一起使用,我会接受它.

php rest web-services codeigniter swagger-php

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

如何在VSTS / TFS构建中检索Git提交ID和消息?

我在使用VSTS的CI环境中,并且想要获取提交注释以将他设置为文本文件。

这是我的构建步骤: 在此处输入图片说明

这个想法是将GIT提交注释复制到存储在工件文件夹中的文本文件中。然后使用HockeyApp SDK,在发布说明中设置我的提交评论。

我可以使用命令行操作轻松地复制文件,但是我不知道如何检索注释。

git continuous-integration hockeyapp azure-devops

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

Visual Studio 2017 - 查找并替换为文本

我在一个类中有这个属性:

public string fooo { get; set; }
Run Code Online (Sandbox Code Playgroud)

我需要用类似的方式重写它:

[BsonElement("fooo")] 
public string fooo{ get; set; }
Run Code Online (Sandbox Code Playgroud)

我必须为很多属性执行此操作,因此我想使用 Visual Studio 中的“查找替换功能”。

我使用以下宏:

Search : public 
Replace : [BsonElement("")]\n\t\tpublic 
Run Code Online (Sandbox Code Playgroud)

如何使用正则表达式动态获取fooo名称并将其放入BsonElement属性中?在全球范围内,是否有可能提供有关此文档的链接,还没有找到。

c# regex visual-studio

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

另一个文件中的 Swagger 架构引用

当我设计我的 swagger API 服务模型并强调文本时,我正在处理巨大的 yaml 模式,我想将该model部分保存在另一个文件中,以便具有更大的灵活性和灵活性。

根据文档,我使用了这部分代码:

components:
  schemas:
    Request:
      title: Request
      type: object
      properties:
        technicalData:
          $ref: '../../schemas/foo.yaml/components/schemas/TechnicalData'
Run Code Online (Sandbox Code Playgroud)

在我的foo.yaml文件中,我有这样的东西:

components:
  schemas:
    TechnicalData:
      type: object
      properties:
        application:
          type: string
        applicationCode:
          type: string
        userId:
          type: string
Run Code Online (Sandbox Code Playgroud)

它可以在本地主机上运行,​​但在企业部署服务器上运行我的文件时遇到以下问题:

Components.schemas.Request.properties.technicalData.$ref 处的错误解析器错误无法解析引用,因为:不可接受

我可以成功地通过本地浏览器浏览我的文件。

在互联网上检查,我发现了一些与我的主题相关的问题,但不幸的是不是很有用: https ://github.com/swagger-api/swagger-editor/issues/1561

https://github.com/RepreZen/KaiZen-OpenAPI-Editor/issues/438

yaml swagger

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

通用方法可能会抛出异常

我有一个全局linq扩展方法,它从给定列表中检索表示最多的元素.这是样本:

public static T GetMostRepresentedElement<T, U>(this IEnumerable<U> _Collection, Func<U, T> _GetElem)
{
    return _Collection.GroupBy(e => _GetElem(e))
                      .Select(f => new
                      {
                          Count = f.Count(),
                          Elem = f.Key
                      })
                      .OrderByDescending(g => g.Count)
                      .First()
                      .Elem;
}
Run Code Online (Sandbox Code Playgroud)

它发生这个代码块抛出异常:

在First:Sequence不包含任何元素StackTrace:在System.Linq.Enumerable.First [TSource](IEnumerable1 source)at IHMTools.Utilities.LinqExtensions.GetMostRepresentedElement [T,U](IEnumerable1 _Collection,Func2 _GetElem)

我怎么可能安全地使用这种方法?我是否必须修复此方法,或者更好地注意我发送给方法的数据?

.net c# linq

2
推荐指数
1
解决办法
58
查看次数

Docker上的Asp.Net Core

我目前正在尝试使用ASP.NET Core应用程序启动Docker组件.

我使用以下repo进行测试:https://github.com/aspnet/cli-samples

我没有任何问题地运行以下命令:

git clone https://github.com/aspnet/cli-samples aspnet-Home
cd aspnet-Home/HelloWeb
cat Dockerfile

FROM microsoft/aspnetcore
WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "helloweb.dll"]

sudo docker build –t helloweb .
sudo docker run -d helloweb
Run Code Online (Sandbox Code Playgroud)

图像是可见的sudo docker images,但容器不会启动,并且不可见sudo docker ps:

在此输入图像描述

如果我浏览我的网站,显然我看不到数据.回购不利于我的测试吗?我在docker容器创建上有什么错误吗?

运行-it命令给我以下输出: 在此输入图像描述

asp.net docker asp.net-core

2
推荐指数
1
解决办法
810
查看次数

检查 BsonValue 是否不为 null

以 mongo 集合中的以下摘录为例:

{"IsBasedOnProduct" : {
        "CodeUV" : "09184",
        "Name" : null,
        "pricingVersion" : "B"
    }
}
Run Code Online (Sandbox Code Playgroud)

我想Name从这个集合中提取字段并将其放入 C# 对象中。但我不知道如何管理null价值。

这就是我在 C# 应用程序中所做的事情:

if (foo.Contains("IsBasedOnProduct"))
{
    fooToExcel.Name = foo["IsBasedOnProduct"].AsBsonDocument.Contains("Name") ? foo["IsBasedOnProduct"]["Name"].AsString : string.Empty;
}
Run Code Online (Sandbox Code Playgroud)

当然,当Nameis时null,我会抛出一个System.ArgumentNullException How can I fix it以便string.Empty在值 is 时放置null

.net c# mongodb bson

2
推荐指数
1
解决办法
5259
查看次数

使用 Polly 处理 CosmosDb Mongo 429 错误的正确方法

我在 azure web 应用程序上部署了一个应用程序,该应用程序使用 .netCore 3 中的 mongoDb 驱动程序与 CosmosDB 数据库交互。

按照文档,我必须设置重试策略,以便在 RU/s 不可用时处理 429 错误代码。鉴于发生 429 错误时我没有看到错误显示这一事实,我找不到处理 Polly 策略的正确方法。

唯一正确的方法是使用以下策略:

_retryPolicy = Policy
.Handle<MongoCommandException>(r => r.Message.Contains("Request rate is large"))
.WaitAndRetry(3, i => TimeSpan.FromSeconds(1));
Run Code Online (Sandbox Code Playgroud)

这是 Polly 政策的使用:

   public long CountProjetByProjectNumber(string projectNumber)
    {
        long result = 0;
        _retryPolicy.Execute(() =>
        {
            result = _mongoCollection.CountDocuments(x => x.ProjectNumber == projectNumber);
        });
        return result;
    }
Run Code Online (Sandbox Code Playgroud)

当使用 Mongodb 驱动程序在 CosmosDb 中发生 429 异常时,是否有人有正确的错误显示,或者有人可以告诉我他正确处理它的方式。

azure mongodb asp.net-core azure-cosmosdb azure-cosmosdb-mongoapi

2
推荐指数
1
解决办法
1284
查看次数