2013-08-06 2 views
3

nlog 프로젝트 홈페이지에서 예제를 따라 왔지만 제대로 작동하지 않습니다. 이 예제는 다음에서 찾을 수 있습니다. http://nlog-project.org/documentation/v2.0.1/html/T_NLog_Targets_WebServiceTarget.htm로그가 웹 서비스 메서드를 사용하지 않습니다.

nLog 대상을 사용할 때 문제가 발생합니다. 내 설정 :

<targets> 
    <target name="ws" xsi:type="WebService" namespace="http://www.nlog-project.org/example" protocol="Soap11" methodName="HelloWorld" url="http://localhost:53810/Service1.asmx"> 
     <parameter name="n1" type="System.String" layout="${message}"/> 
     <parameter name="n2" type="System.String" layout="${logger}"/> 
     <parameter name="n3" type="System.String" layout="${level}"/>   
    </target>  
</targets> 

<rules> 
    <logger name="test" writeTo="ws" />  
</rules> 

내가 콘솔 응용 프로그램 아무 일도 발생하지 않습니다 시작,하지만 나는 다음에 내 URL을 변경하는 경우이 방법 트리거 보인다

: 돈을

http://localhost:53810/Service1.asmx/HelloWorld 

을하지만이 방법을 사용할 때하는 매개 변수 ' t는 제대로 작동 ..

내 웹 서비스 방법 :

[WebMethod] 
public void HelloWorld(string n1, string n2, string n3) 
{ 
    HttpContext.Current.Trace.Write("n1 " + n1); 
    HttpContext.Current.Trace.Write("n2 " + n2); 
    HttpContext.Current.Trace.Write("n3 " + n3); 
} 

누구든지 해결하는 방법을 알고 이? 나는 HttpPost와 Soap11 둘 다 시도했다.

+0

의 위키 페이지 [WebService를 대상 (http://github.com/NLog/NLog/wiki/WebService-target) 비고 섹션에서 webservice가 쿼리 문자열 매개 변수를 처리하는 메서드를 받아 들여야한다고 말하면 웹 서비스에서 이러한 매개 변수를 허용합니까? 웹 서비스는 어떻게 생성됩니까? – Xharze

+0

@Xharze 제 편집을 참조하십시오. 내 방법은 예제와 같습니다. webservice는 일반적인 ASP.NET 웹 Serice 응용 프로그램입니다. – user1828871

+0

querystring이 실제로 genereated되었는지 확인할 수 있습니까? 이것이 NLog 문제 또는 웹 서비스 문제인지 확인하기 위해? – Xharze

답변

1

솔루션

nlog 설정 파일은 웹 서비스의 네임 스페이스와 완전히 동일 할 필요가에서의 네임 스페이스.

nlog 구성 :

namespace="http://tempuri.org/" 

웹 서비스 :

[WebService(Namespace = "http://tempuri.org/")] 
관련 문제