`
gstarwd
  • 浏览: 1538817 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

SilverLight异步调用WebService出错!

阅读更多

SilverLight异步调用WebService出错!

Silvert調用WebService會出現如下錯 誤,是怎麼回事啊?

嘗試向 URI http://localhost/WebServices/WeatherWebService.asmx 進行要求時發生錯誤。這可能是因為嘗試以跨網域方式存取服務,而沒有適當的跨網域原則所造成,或是由不適用於 SOAP 服務的原則所造成。您可能需要聯絡服務的擁有者,以發佈跨網域原則檔案,並確定它允許傳送 SOAP 相關的 HTTP 標頭。這項錯誤也可能是在 Web 服務 Proxy 中使用內部型別而沒有使用 InternalsVisibleToAttribute 屬性所造成。如需詳細資訊,請查看內部例外狀況。

<!-- google_ad_section_end --><!-- End_body//-->
回复次数:10 <!-- | 浏览次数:<span csdnid="vcount" title="该帖阅读数为93">93</span>-->

 

<!-- google_ad_section_start(weight=ignore) -->
#1楼 得分:0 回复于:2009-08-28 17:35:20
各位大俠來幫幫忙啥。
<!-- End_rbody_59411533//-->
#2楼 得分:15 回复于:2009-08-28 17:35:40
Silverlight 跨域的策略问题,将策略文件“clientaccesspolicy.xml”放在网站根目录下
文件编码为 utf-8;文件内容如下试试吧:

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
    <cross-domain-access>
        <policy>
            <allow-from>
                <domain uri="*"/>
            </allow-from>
            <grant-to>
                <resource path="/" include-subpaths="true"/>
            </grant-to>
        </policy>
    </cross-domain-access>
</access-policy>
<!-- End_rbody_59411545//-->
#3楼 得分:0 回复于:2009-08-28 17:48:48
引用 2 楼 xingjunli 的回复:
Silverlight 跨域的策略问题,将策略文件“clientaccesspolicy.xml”放在网站根目录下
文件编码为 utf-8;文件内容如下试试吧:

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
    <cross-domain-access>
        <policy>
            <allow-from>
                <domain uri="*"/>
            </allow-from>
            <grant-to>
                <resource path="/" include-subpaths="true"/>
            </grant-to>
        </policy>
    </cross-domain-access>
</access-policy>


我加了这个,可还是没有用啊。
<!-- End_rbody_59411995//-->
#4楼 得分:0 回复于:2009-08-28 18:00:10
引用 3 楼 kingvsliuzhi 的回复:
引用 2 楼 xingjunli 的回复:
Silverlight 跨域的策略问题,将策略文件“clientaccesspolicy.xml”放在网站根目录下
文件编码为 utf-8;文件内容如下试试吧:

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
    <cross-domain-access>
        <policy>
            <allow-from>
                <domain uri="*"/>
            </allow-from>
            <grant-to>
                <resource path="/" include-subpaths="true"/>
            </grant-to>
        </policy>
    </cross-domain-access>
</access-policy>


我加了这个,可还是没有用啊

难道是哪里有问题?
<!-- End_rbody_59412342//-->
#5楼 得分:0 回复于:2009-08-29 01:03:07
我也有这个问题!等待解答
<!-- End_rbody_59417513//-->
  • jv9用户头像
  • jv9
  • (冷秋寒)
  • 等 级:
  • 4

    3

#6楼 得分:1 回复于:2009-08-29 03:06:32
http://topic.csdn.net/u/20090721/14/e2df087f-cddb-4a97-b5c5-baa26e3d7419.html

http://topic.csdn.net/u/20090720/16/0aced228-822e-452c-b0ce-7b578a67da92.html
<!-- End_rbody_59417748//-->
#7楼 得分:0 回复于:2009-08-31 10:04:03
引用 2 楼 xingjunli 的回复:
Silverlight 跨域的策略问题,将策略文件“clientaccesspolicy.xml”放在网站根目录下
文件编码为 utf-8;文件内容如下试试吧:

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
    <cross-domain-access>
        <policy>
            <allow-from>
                <domain uri="*"/>
            </allow-from>
            <grant-to>
                <resource path="/" include-subpaths="true"/>
            </grant-to>
        </policy>
    </cross-domain-access>
</access-policy>

是把这个文件放在IIS的wwwroot下面,还是放在project下面?
<!-- End_rbody_59446062//-->
#8楼 得分:0 回复于:2009-08-31 10:47:35
怎么这么久了都没有人回复啊
<!-- End_rbody_59447740//-->
  • zhuzhi用户头像
  • zhuzhi
  • (Inet)
  • 等 级:
  • 2

#9楼 得分:4 回复于:2009-08-31 11:16:07
放到发布的虚拟目录的根目录就可以。
<!-- End_rbody_59448938//-->

下面这个问题,郁闷我好几天了,各位大侠帮忙看看;

在本地的Web站点中使用SilverLight,异步调用本地的WebService出错;

在VS2008英文版中,调试过程中报错
“这可能是因为在没有适当的跨域策略的情况下试图以跨域方式访问服务,或者是策略不适用于 SOAP 服务。您可能需要与服务所有者联系以发布跨域策略文件,确保策略允许发送与 SOAP 相关的 HTTP 头。请参阅内部异常以了解详细信息。”

找了一下,说是clientaccesspolicy.xml 的问题,拷贝到Web项目根目录中,调试依然报错。把带SilverLight的Web站点,一起直接部署到IIS, 使用相同的主机头,将clientaccesspolicy.xml拷贝到Web站点根目录下,还是
报错;

具体错误如下:

网页错误详细信息
--------------------------------------------------------------------
用户代理: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; InfoPath.2; CIBA; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
时间戳: Fri, 12 Jun 2009 03:50:29 UTC


消息: Unhandled Error in Silverlight 2 Application 操作过程中出现异常,结果无效。有关异常的详细信息,请查看 InnerException。  位于 System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
  位于 picShow.Service.GetContentListByTagCompletedEventArgs.get_Result()
  位于 picShow.App.OnGetContentListByTagFreeCompleted(Object sender, GetContentListByTagCompletedEventArgs e)
  位于 picShow.Service.MediaServiceSoapClient.OnGetContentListByTagCompleted(Object state)
行: 1
字符: 1
代码: 0
URI:  http://www.tt.com:9902/picShowTestPage.aspx
--------------------------------------------------------------------------------------------------------------

感觉不是跨域的问题啊,真的是超级郁闷。
<!-- google_ad_section_end --><!-- End_body//-->
回复次数:5 <!-- | 浏览次数:<span csdnid="vcount" title="该帖阅读数为199">199</span>-->
<!-- google_ad_section_start(weight=ignore) -->
#1楼 得分:0 回复于:2009-06-12 23:32:44
这个 可 能 还 是 你 跨 域 的 问 题
可 能 是 那 个 跨 域  的 文 件 不 对
<!-- End_rbody_57682536//-->
  • jv9用户头像
  • jv9
  • (冷秋寒)
  • 等 级:
  • 2

    3

#2楼 得分:0 回复于:2009-06-12 23:44:36
你的错误是跨域问题,WCF不能获取内容.
你可以尝试建立Silverlight-enable WCF service解决你的问题.方法和你当前的方法基本相同.
<!-- End_rbody_57682640//-->
#3楼 得分:0 回复于:2009-06-13 00:10:49
我的跨域文件是这样的,有什么不对吗?
  <?xml version="1.0" encoding="utf-8" ?>
<access-policy>
  <cross-domain-access>
  <policy>
    <allow-from>
      <domain uri="*" />
    </allow-from>
    <grant-to>
    <resource path="/" include-subpaths="true" />
    </grant-to>
  </policy>
  </cross-domain-access>
</access-policy>

调试的时候,这个策略文件拷贝到什么地方呢?
<!-- End_rbody_57682842//-->
  • jv9用户头像
  • jv9
  • (冷秋寒)
  • 等 级:
  • 2

    3

#4楼 得分:0 回复于:2009-06-13 04:12:46
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="*">
        <domain uri="你的连接"/>
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>
<!-- End_rbody_57683573//-->
#5楼 得分:0 回复于:2009-07-03 11:27:20
这个问题我也搞好久,
看你的问题和我问题是不是一样.
我最后是把这个文件放在域的根目录才解决.
即 比如你的根域 http://ddd/  对应C:\DDD\
    WEBSERVICE  http://ddd/ws/  对应C:\WS\
那么你的配置文件要放在C:\DDD\下面才正确.
#10楼 得分:0 回复于:2009-08-31 11:20:45
知道怎么回事了,谢谢各位的回复。




分享到:
评论

相关推荐

    基于Silverlight实现调用webservice上传多个文件的源码例子

    本示例“基于Silverlight实现调用webservice上传多个文件的源码”将展示如何在Silverlight应用中通过调用Web服务来处理多文件上传。 首先,我们要理解Silverlight与Web服务的交互机制。Silverlight应用通常运行在...

    Silverlight边学边写之一“Silverlight+Webservice+Dataset”综合应用

    3. **Silverlight调用Webservice**:讲解如何在Silverlight应用中添加对Webservice的引用,以及使用代理类来调用Web方法。 4. **Dataset的使用**:阐述Dataset的创建、填充数据、操作数据表以及数据关系的方法。 5...

    silverlight-通过-WebService-连接数据库.doc

    在DataGrid中,我们可以绑定到这些代理方法,实现用户界面的动态更新和数据操作的异步调用。 总的来说,这个文档展示了如何使用Silverlight通过WebService连接到数据库,实现基本的数据操作功能。这种方式使得...

    [示例代码]Silverlight通过Javascript调用xmlhttp异步获取服务器端的内容

    我们经常在Silverlight中与服务器交互,例如Silverlight和SharePoint交换信息,常用的方式是通过Javascript利用xmlhttp向服务器端发送请求或调用Webservice。这里就涉及到同步和异步的问题,如果采用同步调用,则会...

    Silverlight通过Javascript调用xmlhttp异步获取服务器端的内容(重复了,请删除)

    我们经常在Silverlight中与服务器交互,例如Silverlight和SharePoint交换信息,常用的方式是通过Javascript利用xmlhttp向服务器端发送请求或调用Webservice。这里就涉及到同步和异步的问题,如果采用同步调用,则会...

    Silverlight2 跨域调用Web服务的方法

    在这个例子中,当用户点击“调用”按钮时,`Button_Click`事件处理器将初始化Web服务客户端并异步调用`HelloWorld`方法。一旦调用完成,`service_HelloWorldCompleted`事件处理程序会被触发,将返回的结果显示在...

    SilverlightDEmo

    Silverlight提供了System.ServiceModel命名空间,使得在Silverlight应用中调用Web服务变得简单,允许实时数据更新和动态内容呈现。 在Silverlight应用中,数据绑定和MVVM(Model-View-ViewModel)设计模式是常见的...

    Silverlight4 连接数据库 树形展示数据

    7. **处理异步调用**:由于WCF调用是异步的,需要处理完成事件和错误事件。当数据加载完成后,更新UI以显示树形数据。 8. **优化性能**:如果数据量较大,考虑分页加载或懒加载策略,以减少初次加载时的等待时间。 ...

    silverlight 类似web qq的聊天对话框及相关功能

    用户在richtextbox中选择文件后,应用将通过异步调用服务端接口将文件发送到服务器。这通常涉及处理文件流、安全性以及状态跟踪等细节。 3. **图片上传**:对于png和jpg格式的图片,我们可以使用Image控件来显示...

    silverlight5操作数据库

    为了在Silverlight 5中实现这些数据库操作,开发者需要理解.NET Framework的相关概念,包括数据模型、服务配置、数据绑定和异步编程等。同时,对于数据库层面,需要熟悉SQL语法和关系数据库设计原则。在开发过程中,...

    sliverlight 上传文件(webservice)

    **银光(Silverlight)上传文件通过Web服务(Webservice)** 在开发Web应用程序时,有时需要实现文件上传功能,而Silverlight作为一个强大的富客户端技术,可以提供丰富的用户体验。本教程将详细介绍如何在Visual ...

    Ajax学习笔记---3种Ajax的实现方法【推荐】

    JavaScript中的Ajax异步调用 在JavaScript中,可以通过创建一个新的XMLHttpRequest对象,设置onreadystatechange事件处理函数,然后调用open和send方法来发送请求。例如: ```javascript var xhr = new ...

    CLR.via.C#.(中文第3版)(自制详细书签)Part2

    · 使用线程池、任务、取消、计时器和异步I/O操作来设计响应性强、稳定性高和伸缩性大的解决方案 · 借助于异常处理来进行状态管理 · 使用CLR寄宿、AppDomain、程序集加载、反射和C#的dynamic类型来构造具有动态...

    服装设计专业课程的信息化建设与改革.docx

    具体实现步骤包括添加WebService引用、设置参数、创建SOAP请求、调用WebService方法等。 #### 系统框架结构 该软件采用了MVVM (Model-View-ViewModel) 架构模式,这是一种现代的软件架构模式,特别适用于复杂的...

    Windows Phone7+Web Service的图片图片上传解决方案示例代码

    1. **Windows Phone 7 API**:在Windows Phone 7(WP7)中,开发者可以使用Silverlight技术来构建应用程序。为了访问本地图片,我们需要使用`Microsoft.Phone.Tasks`命名空间中的`PhotoChooserTask`类,它允许用户从...

Global site tag (gtag.js) - Google Analytics