首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么请求${aspnet- NLog -NLog}为空?

为什么请求${aspnet- NLog -NLog}为空?
EN

Stack Overflow用户
提问于 2017-08-10 03:17:51
回答 1查看 557关注 0票数 2

我正在桌面上运行WCF服务。我在NLog.config文件中使用${aspnet-request-host}。在执行web服务之后,我得到了返回的响应,但它没有记录host信息。我使用的是.NET框架4。

我已经添加了

代码语言:javascript
复制
<extensions>
     <add assembly="NLog.Web"/>
</extensions> 

将此片段转换为NLog.config文件。

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
      autoReload="true"
      throwExceptions="false"
      internalLogLevel="Error" internalLogFile="C:/Users/sranade/nlog-internal.log">

  <extensions>
    <add assembly="NLog.Web"/>
  </extensions>
  <!-- optional, add some variables
  https://github.com/nlog/NLog/wiki/Configuration-file#variables
  -->

  <!--
  See https://github.com/nlog/nlog/wiki/Configuration-file
  for information on customizing logging rules and outputs.
   -->
  <targets>

    <!--
    add your targets here
    See https://github.com/nlog/NLog/wiki/Targets for possible targets.
    See https://github.com/nlog/NLog/wiki/Layout-Renderers for the possible layout renderers.
    -->

    <!-- database target -->
    <target name="database"
            xsi:type="Database"
            connectionStringName="NLog"
            commandText="exec dbo.InsertLog
                            @level,
                            @request,
                            @response,
                            @requesttype,
                            @retailerid,
                            @storenumber,
                            @retailerreferenceid,
                            @sourceip,
                            @transactiondate,
                            @transactiondatetime,
                            @processingtime,
                            @servername,
                            @callSite,
                            @type,
                            @message,
                            @stackTrace,
                            @innerException,
                            @additionalInfo">
      <parameter name="@level" layout="${level}" />
      <parameter name="@request" layout="${event-properties:item=request}" />
      <parameter name="@response" layout="${event-properties:item=response}" />
      <parameter name="@requesttype" layout="${event-properties:item=requesttype}" />
      <parameter name="@retailerid" layout="${event-properties:item=retailerid}" />
      <parameter name="@storenumber" layout="${event-properties:item=storenumber}" />
      <parameter name="@retailerreferenceid" layout="${event-properties:item=retailerreferenceid}" />
      <parameter name="@sourceip" layout="${event-properties:item=sourceip}" />
      <parameter name="@transactiondate" layout="${event-properties:item=transactiondate}" />
      <parameter name="@transactiondatetime" layout="${event-properties:item=transactiondatetime}" />
      <parameter name="@processingtime" layout="${event-properties:item=processingtime}" />
      <parameter name="@servername" layout="${event-properties:item=servername}" />
      <parameter name="@callSite" layout="${callsite}" />
      <parameter name="@type" layout="${exception:format=type}" />
      <parameter name="@message" layout="${exception:format=message}" />
      <parameter name="@stackTrace" layout="${exception:format=stackTrace}" />
      <parameter name="@innerException"
                 layout="${exception:format=:innerFormat=ShortType,Message,Method:MaxInnerExceptionLevel=1:InnerExceptionSeparator=}" />
      <parameter name="@additionalInfo" layout="${message}" />
    </target>
  </targets>

  <rules>
    <!-- add your logging rules here -->
    <logger levels="Error,Warn,Fatal,Debug,Info" name="databaseLogger" writeTo="database"/>
    <!--
    Write all events with minimal level of Debug (So Debug, Info, Warn, Error and Fatal, but not Trace)  to "f"
    <logger name="*" minlevel="Debug" writeTo="f" />
    -->
  </rules>
</nlog>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-11 09:58:53

不确定您是否能够获得该值,因为WCF不通过ASP.Net运行。

您可以尝试将其打开aspNetCompatibilityEnabled,但它仍然可能无法提供值,并可能导致问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45598964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档