C# nLog不触发Web服务方法

C# nLog不触发Web服务方法,c#,nlog,C#,Nlog,我一直在遵循nlog项目主页上的一个示例,但我无法让它工作。有关示例,请访问: 使用非直瞄目标时会出现问题。我的配置: <targets> <target name="ws" xsi:type="WebService" namespace="http://www.nlog-project.org/example" protocol="Soap11" methodName="HelloWorld" url="http://localhost:53810/Service1.

我一直在遵循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>
但是当使用此方法时,参数似乎不起作用

我的Web服务方法:

[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。

解决方案

nlog配置文件中的命名空间需要与Web服务的命名空间完全相同

nlog配置:

namespace="http://tempuri.org/"
网络服务:

[WebService(Namespace = "http://tempuri.org/")]

备注部分中的的的wiki页面说明web服务必须接受处理查询字符串参数的方法,您的web服务是否接受这些参数?web服务是如何创建的?@Xharze查看我的编辑。我的方法与示例相同。webservice是一个常规的ASP.NET Web服务应用程序。您能否验证querystring是否已生成?只是为了确定这是NLog问题还是Web服务问题?嗯,我应该怎么做?我试过小提琴,但它没有出现在那里。我发现了问题!名称空间不一样。当我改变它时,一切都按预期进行:)
[WebService(Namespace = "http://tempuri.org/")]