none
Silverlight调用以WPF程序为宿主的WCF服务方法出错 RRS feed

  • 问题

  • 错误信息:

    尝试向 URI“url”发出请求时出错。这可能是由于试图以跨域方式访问服务而又没有正确的跨域策略,或策略不适用于 SOAP 服务。您可能需要与该服务的所有者联系,以发布跨域策略文件并确保该文件允许发送 SOAP 相关的 HTTP 标头。出现此错误也可能是由于使用的是 Web 服务代理中的内部类型而没有使用 InternalsVisibleToAttribute 属性。有关详细信息,请参阅内部异常。

    把跨域文件复制到网站目录,或者WPF程序的运行目录都没用.

    WPF程序中关于WCF代码:

                 ServiceHost host = new ServiceHost(typeof(ServiceCore));
                 host.AddServiceEndpoint(typeof(IServiceCore), new BasicHttpBinding(), "url");
                 ServiceMetadataBehavior behavior = new ServiceMetadataBehavior() { HttpGetEnabled = true, HttpGetUrl = new Uri("url") };
                host.Description.Behaviors.Add(behavior);
                host.Open();

    Silverlight可以正常引用,但调用WCF里面的方法就出错.

    WCF服务接口以及实现:

        [ServiceContract]
        public interface IServiceCore
        {
            [OperationContract]
            string DoWork();
        }

        public class ServiceCore : IServiceCore
        {
            public string DoWork()
            {
                return "Hello";
            }
        }


    我是包子!

    2012年3月21日 11:30

答案

全部回复