Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net MessageXmlProtocolError参数:调试资源字符串不可用。通常,键和参数提供了足够的_Asp.net_Silverlight_Wcf_Silverlight 4.0_Basichttpbinding - Fatal编程技术网

Asp.net MessageXmlProtocolError参数:调试资源字符串不可用。通常,键和参数提供了足够的

Asp.net MessageXmlProtocolError参数:调试资源字符串不可用。通常,键和参数提供了足够的,asp.net,silverlight,wcf,silverlight-4.0,basichttpbinding,Asp.net,Silverlight,Wcf,Silverlight 4.0,Basichttpbinding,我有一个网站,其中包含一个小的Silverlight插件,它调用一个非常简单的WCF服务来保存会话中的值 它可以在我的PC上正常工作,并且只能在服务器(主机提供商)上的计算机上正常工作。我注意到,对于所有安装了Silverlight Developer Edition的计算机,我的Silverlight应用程序工作正常,但是对于所有安装了Silverlight Generic Edition的计算机,我的应用程序在调用WCF服务时失败,并显示以下消息: 其他信息:[MessageXmlProto

我有一个网站,其中包含一个小的Silverlight插件,它调用一个非常简单的WCF服务来保存会话中的值

它可以在我的PC上正常工作,并且只能在服务器(主机提供商)上的计算机上正常工作。我注意到,对于所有安装了Silverlight Developer Edition的计算机,我的Silverlight应用程序工作正常,但是对于所有安装了Silverlight Generic Edition的计算机,我的应用程序在调用WCF服务时失败,并显示以下消息: 其他信息:[MessageXmlProtocolError] 论据: 调试资源字符串不可用。通常,键和参数提供足够的信息来诊断…


我有crossdomain.xml和clientaccesspolicy.xml文件,它们应该是正确的,我使用的是没有安全性的BasichtpBinding。此外,开发人员版本也没有问题。有人能帮忙吗?(Silverlight version=4)

问题在于收到的响应不是WCF服务所期望的。根据MSDN文档,MessageXmlProtocolError是:

“从网络接收的XML出现问题。有关详细信息,请参阅内部异常。”

这意味着您需要查看内部异常是什么,以确定实际原因

如果WCF服务托管在IIS中的特定URL上,则可能是发件人无权访问网站中的该URL。我们不止一次遇到过这个问题

帮助解决问题的方法包括:

1) 在有问题的计算机上安装SDK,以查看是否可以获得完整异常

2) 通过向web.config中添加以下类似的块来使用WCF跟踪(假设WCF服务托管在IIS中):



3) 使用像fiddler这样的工具来跟踪来自WCF客户端的请求和响应,看看是否可以跟踪问题

我刚刚添加了一些代码来更改wcf服务url,以确保它在正确的服务器上运行。这解决了问题

我的问题是,如果我在客户机上安装Silverlight SDK,那么一切都正常。我应该在web.config中输入什么代码进行跟踪?我的另一个问题是,我无法访问服务器本身,因为我正在使用共享托管环境;现在应该可以看到了。
  <system.diagnostics>
    <sources>
      <source name="System.ServiceModel"
              switchValue="Information, ActivityTracing"
              propagateActivity="true">
        <listeners>
          <add name="traceListener"
              type="System.Diagnostics.XmlWriterTraceListener"
              initializeData="c:\log\WebTrace.svclog"  />
        </listeners>
      </source>
    </sources>
  </system.diagnostics>