使用nlog写入休息服务

时间:2015-08-17 15:43:58

标签: json rest nlog

现在已经有一段时间了, 我有一个休息服务,它通过查询字符串发送一些参数。除此之外,我需要通过请求正文发送一些字段。 格式需要 json 。 这是一个由邮递员提出的成功请求,例如:



{
  "TransactionLogId": "6e6279a3-22d9-458d-b1c9-9b03a81556be",
  "CreatedDate": "2015-08-17T15:05:50.0143866Z",
  "LogType": "Info",
  "TransactionCode": "2831b7bc-9fc8-424d-857a-182397a5eb11",
  "ServiceName": "ESBService.WCF",
  "ServiceId": "8664e362-f63d-4d10-8a23-3b86b9f22cc7",
  "Servers": "******************",
  "Context": "EmployersSite",
  "RequestIPs": "**************",
  "UserId": "258a8c83-3f18-40d6-aea7-986dc0d97656",
  "ActivityTime": "2015-08-17T15:05:50.0143866Z",
  "LogSubType": "Info.RequestBegin",
  "Title": "RequestBegin",
  "Details": "",
  "RequestData": "{\r\n  \"Filters\": {\r\n    \"Mode\": \"Automatic\",\r\n    \"Type\": \"Applicant\"\r\n  }\r\n}",
  "EntityClass": "SavedSearch",
  "EntityId": "",
  "Methods": "SavedSearch_Search; SetSession",
  "SourceFilePath": "*******************\\PortalService.svc.cs",
  "SourceLineNum": 1025,
  "RunTime": 0.015
}




这是我的配置。让我说我现在想要的只是在详细信息字段中发送异常消息。

这是我的配置:



  <nlog throwExceptions="true" internalLogFile="c:\\Data\\Logs\\IES\\nlog_debug.txt" internalLogLevel="Warn">
    <variable name="LogBaseFolder" value="c:\\Data\\Logs\\tester" />
    <targets>
      <target type='WebService'
               name='ws'
               url='somesvc.vc/TransactionLog/Create?Context=Portal&amp;UserToken=a441b37f-3403-43fd-8f58-d1da3024133a'
               protocol='HttpPost'
               encoding='UTF-8'>
        <parameter name='details' type='System.String'  layout="  ${message}"/>
      </target>
    </targets>
 <rules>
      <logger name="*" writeTo="ws" />
    </rules>
  </nlog>
&#13;
&#13;
&#13;

和我的代码:

&#13;
&#13;
Log.Site.Error("erorrrr")
&#13;
&#13;
&#13;

但请求永远不会让身体不正确的错误:

  

message =解析值时遇到意外的字符:M。Path   &#39;&#39;,第0行,第0位。

这是杀了我可以真的使用一些帮助。谢谢

1 个答案:

答案 0 :(得分:0)

不要担心新手遇到的事情很多,而且有一个简单的解决方案! - 所以请继续思考:) 所以基本上,当你在响应中传回JSON时,你需要在response.Write()之前对对象进行超级序列化。 response.super(Object name_Object) 它处理的是什么?更深层次&#34;封装过程(&#39; DIYA Encapsulation&#39;),包括嵌套对象(方法和成员) 但没有核心功能(构造函数,析构函数..)

希望它有所帮助,祝你好运。

BTW,建议您阅读有关类,嵌套对象,构造函数等的更多信息。 随着您作为开发人员的发展,它将进一步帮助您!干杯:)