2011-07-18 115 views
0

我写了一个简单的wcf服务的silverlight应用程序。在我的电脑上运行良好,当我将其发布到我的网络帐户时,它不再适用于该服务。我试着编辑clintconfig文件将端点设置到新的位置,但没有解决它。所以我下载了这个简单的SilverLight应用程序与WCF的例子安装部署,它也适用于我的个人机器,但不是当我发布到我的域名。我的帐户支持asp.net,wcf等。我下载的示例链接:http://www.codeproject.com/Articles/152778/Deploying-Silverlight-with-WCF-ServicesSilverLight服务部署

我是新来的,所以我想知道这是不是应该在没有额外工作的情况下工作,或者如果我错过了一些东西。我没有收到任何错误,我只是没有从服务中获取屏幕上显示的消息。

hatchets后添加以下内容评论: 我想弄清楚如何找到一条错误消息。到目前为止,我知道它不工作的唯一方法是我看不到从服务返回的消息。 SilverLight显示返回的消息“来自我的WCF服务的Hello”。我在我的机器上看到它,但在我将它发布到我的域时没有看到。如果我的理解正确,我下载的应用程序已设置为无需更改终端地址即可工作,但我对此很陌生,我还没有弄清楚我还缺少什么。 谢谢。

添加后下面的评论:

我grabed小提琴手,和后,我添加了标签,我能看到错误的小提琴手,并浏览到.svc文件时。错误:

配置错误

说明:该请求提供服务所需的配置文件的处理过程中发生了错误。请查看下面的具体错误细节并适当修改您的配置文件。

解析器错误消息:无法识别的属性'multipleSiteBindingsEnabled'。请注意,属性名称区分大小写。

Source Error: 


Line 30:   </bindings> 
Line 31:   <serviceHostingEnvironment aspNetCompatibilityEnabled="true" 
Line 32:    multipleSiteBindingsEnabled="true" /> 
Line 33:   <services> 
Line 34:    <service name="testWCF.Web.Service1"> 

源文件:\ boswinfs03 \家庭\用户\网络\ B706 \ whl.forystpcom \ web.config行:32

版本信息:Microsoft .NET Framework版本:2.0.50727.4211; ASP.NET版本:2.0.50727.4016

我不熟悉multipleSiteBindingsEnabled和处理此问题的最佳方法,运行.NET的版本是否会影响此?我运行这个服务器的支持高达3.5它说,但我注意到它引用错误版本2.0,不知道他们是否连接。

+0

有几个箍环可以跳过,但是我们需要知道它是不是有一个箍是问题的想法。 – hatchet

+0

我试图弄清楚如何找到一个错误m essage。到目前为止,我知道它不工作的唯一方法是我看不到从服务返回的消息。 SilverLight显示返回的消息“来自我的WCF服务的Hello”。我在我的机器上看到它,但在我将它发布到我的域时没有看到。如果我的理解正确,我下载的应用程序已设置为无需更改终端地址即可工作,但我对此很陌生,我还没有弄清楚我还缺少什么。 – Terco

+1

尝试启用一些联网追踪工具(如Fiddler),然后查看SL应用程序发送给服务器的请求,然后查看响应中是否有任何错误。 – carlosfigueira

回答

1

MultipleSitesBindingEnabled是它可能会有所帮助是4.0更新的一部分,因此无法在支持3.5以上的服务器上运行。您需要配置您的服务以使用特定的端点。

水稻源:MSDN

附:当浏览到.svc时,它会说.net 2.0安装在2.0 - 3.5之间的任何东西,但是4.0安装后会说4.0。

+0

谢谢,我的域名提供商确实回来了,让我知道他们只支持3.5。 – Terco

0

我不考虑这个答案,只是认为这是一个更清洁的地方进行更新。我的第一个问题是我的程序使用4.0,而我的提供程序不支持4.0。我的第二个问题是:这个集合已经包含一个地址与方案http。有可能在此collection.Parameter每名最具方案一个地址:项”,我发现在这个修复:http://www.j2i.net/blogengine/post/2010/02/08/This-collection-already-contains-an-address-with-scheme-http-There-can-be-at-most-one-address-per-scheme-in-this-collectionParameter-name-item.aspx 我能够通过添加以下代码来解决这个

<serviceHostingEnvironment aspNetCompatibilityEnabled="true"> 
    <baseAddressPrefixFilters> 
    <add prefix="http://www.mydomain.com" /> 
    </baseAddressPrefixFilters> 
</serviceHostingEnvironment> 

感谢所有帮助大家。感谢carlosfigueira提供下载小提琴应用程序的建议。如果您想将该建议转贴给答案,我会检查它,因为它帮助我弄清楚了我得到的错误,从而导致解决问题