RIA - Silverlight 3问题部署到现有网站

时间:2010-05-12 13:06:39

标签: silverlight-3.0 wcf-binding

您好我将Silverlight项目部署到现有网站(使用aspx页面的普通网站)时遇到问题。

一切正常,但是当silverlight尝试连接到RIA服务时,它会失败,因为网站每次都会重定向到登录页面。

我在网站的web.config上找到了这个,这似乎造成了麻烦:

<system.serviceModel>
    <bindings>
        <basicHttpBinding>
            <binding name="AdWsSoap" closeTimeout="00:01:00" openTimeout="00:01:00"
                receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
                bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                useDefaultWebProxy="true">
                <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                    maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                <security mode="None">
                    <transport clientCredentialType="None" proxyCredentialType="None"
                        realm="" />
                    <message clientCredentialType="UserName" algorithmSuite="Default" />
                </security>
            </binding>
        </basicHttpBinding>
    </bindings>
    <client>
        <endpoint address="http://webserver/ADWS/AdWs.asmx" binding="basicHttpBinding"
            bindingConfiguration="AdWsSoap" contract="AdWs.AdWsSoap" name="AdWsSoap" />
    </client>


    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />


</system.serviceModel>

正如您所看到的,该网站正在使用自定义绑定,我猜RIA服务通过它,这就是为什么它重定向到网站的登录页面。 我无法修改此自定义绑定(因为它会影响使用此配置运行的许多其他应用程序)。

有没有办法解决这个问题,可能指定RIA服务不使用这个自定义绑定??

我试图自己创建.SVC文件并以这种方式覆盖AddEndpoints:

protected override void AddEndpoints()
    {
        foreach (Uri uri in this.BaseAddresses)
        {
            AddRestWithJsonEndpoint(uri);
        }
    }

但它不断传递自定义绑定。请帮忙。

提前致谢。

1 个答案:

答案 0 :(得分:0)

玩了一段时间之后,我发现了如何解决我的问题:

首先,一切都取决于web.config及其包含的标签。例如,在我的情况下,我正在为silverlight配置创建一个单独的配置文件,但最后我需要的是将我的silverlight的项目web.config与我在主网站上获得的项目合并。

其次,注意在silverlight项目周围使用的连接字符串,在我的情况下,我在项目周围的某些层中有很多连接字符串,所以我忘了在主web.config上复制几个,这就是我有错误的原因。

希望它有所帮助。

再见。