gpt4 book ai didi

c# - nLog 不触发 webservice 方法

转载 作者:行者123 更新时间:2023-11-30 17:52:50 27 4
gpt4 key购买 nike

我一直在关注 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

但是当使用这个方法时参数似乎不起作用..

我的网络服务方法:

[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配置文件中的命名空间需要和webservice的命名空间完全一致。

nlog配置:

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

网络服务:

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

关于c# - nLog 不触发 webservice 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18082058/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com