首页 新闻 会员 周边

wcf方法调用问题

0
悬赏园豆:20 [已解决问题] 解决于 2012-11-05 11:07

怎么能在浏览器中直接调用wcf服务中的方法并在页面中输出方法的返回结果,网上的那些我看过了,不知道哪里不对,求指导~~~~

Rookier的主页 Rookier | 小虾三级 | 园豆:652
提问于:2012-10-09 10:29
< >
分享
最佳答案
0

想要网页中直接调用WCF服务,必须将服务协议设置为RESF,其它协议均不支持。示例项目如下:

http://www.cnblogs.com/qldsrx/archive/2012/04/08/2437583.html

收获园豆:20
秦楼东 | 小虾三级 |园豆:913 | 2012-10-09 10:33

全换成rest那里也报错

Rookier | 园豆:652 (小虾三级) | 2012-10-09 11:08

@Rookier: 

直接贴代码就可以了,没必要截图。

找不到的情况基本上是因为编译失败造成的,我都给你了一个完整的项目代码了,先跑跑那个项目,确定自己的系统是否支持(必须.NET4.0以上才可以)

补充:你这里应该是2个项目,如果你原先是3.5的,升级了一个项目到4.0,但是另一个项目忘记升级了,就会出现引用项目失效的问题,但是不会报错,要自己检查所有引用的dll是否失效了。

秦楼东 | 园豆:913 (小虾三级) | 2012-10-09 11:16

@青龙白虎: 嗯。。项目的fw版本没一致,这个问题没了,但是。。嗷嗷,我要疯了,wcf的配置文件。。大哥能远程下我不?

Rookier | 园豆:652 (小虾三级) | 2012-10-09 11:50

@青龙白虎: 

  [OperationContract]
        [WebGet(UriTemplate = "all", ResponseFormat = WebMessageFormat.Xml)]
        List<string> Getall();
<system.serviceModel>

    <services>

        <service name="WcfService.Service1" behaviorConfiguration="CalculatorServiceBehavior">
            <host>
                <baseAddresses>
                    <add baseAddress="http://localhost:8864/wcfxml"/>
                </baseAddresses>
            </host>
        </service>


    </services>
    <!--定义CalculatorServiceBehavior的行为-->
    <behaviors>
        <serviceBehaviors>
            <behavior name="CalculatorServiceBehavior">
                <serviceMetadata httpGetEnabled="true" httpGetUrl="http://localhost:8864/wcfxml"/>
                <serviceDebug includeExceptionDetailInFaults="false"/>
            </behavior>

        </serviceBehaviors>
    </behaviors>
</system.serviceModel>

http://localhost:8864/wcfxml/all 400错误。。。

Rookier | 园豆:652 (小虾三级) | 2012-10-09 15:22

@Rookier: 

我只问你一句,我贴的那个项目你有没有仔细看过了?从服务开启到配置文件全部代码,你全部照抄都不可能出错,但是你却没有。(配置文件少了个webHttpBinding节点)

秦楼东 | 园豆:913 (小虾三级) | 2012-10-10 10:31
其他回答(1)
0

这个还真的没有注意过,一般看到元数据的发布就注意到基本方法的调用是成功的。

chenping2008 | 园豆:9836 (大侠五级) | 2012-10-09 10:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册