WCF服务可由我的域外的客户端访问

时间:2012-02-14 08:02:06

标签: c# wcf

我是部署WCF Web服务的新手。我在IIS6中托管了一个WCF服务,我想要这个 我的域外的客户可以访问的Web服务

请帮帮我...
在此先感谢...

2 个答案:

答案 0 :(得分:2)

你可以很容易地做到这一点。您需要选择正确binding,例如basicHttpBindingwsHttpBinding等。

将您的服务器映射到某个DNS或IP。打开服务器上的80端口,以便外部世界可以访问它。

希望这适合你。

答案 1 :(得分:0)

我认为你可能指的是我在使用Silveright时遇到的“跨域”问题。如果是这样,那么“跨域”会为您提供有助于您的Google字词。更多信息......

您需要在服务的根目录中添加跨域服务。现在这一切都非常模糊,因为它有点复杂并且取决于你的应用程序,但是你需要这样的配置:

<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">

<cross-domain-policy>
  <allow-http-request-headers-from domain="*" headers="*"/>

</cross-domain-policy>

如果遇到问题,上面提供了一组丰富的google keyworks,如果没有别的话。

我有一个托管多个WCF服务的服务。从根本上它使用此配置公开上述跨域服务:

    [ServiceContract]
public interface ICrossDomainService
{
    [OperationContract, WebGet(UriTemplate = "/clientaccesspolicy.xml")]
    Stream GetClientAccessPolicy();

    [OperationContract, WebGet(UriTemplate = "/crossdomain.xml")]
    Stream GetCrossDomainPolicy();
}

我希望这会有所帮助