zoukankan      html  css  js  c++  java
  • WCF学习笔记——不支持内容类型 text/xml; charset=utf-8

    我在使用WCF的时候,客户端运行报错:

    不支持内容类型 text/xml; charset=utf-8

    原因是WCF服务做了修改。刷新客户端的服务引用,问题消失


    ============================================================

    使用WCF,就要在运行的时候保证WCF服务已经有宿主承载并激活。

    如何才能保证WCF服务已经激活?网上有许多教程,什么自承载,WINFORM应用程序承载,控制台应用程序承载,IIS承载,很多,并且看起来有点复杂。

    可能是现在版本比较新吧,使用VS2012,新建WCF服务应用程序,会自动生成契约文件IService1.cs 和 寄宿于IIS的文件Service1.svc。

    然后在客户端添加服务引用,点“发现”,处于同一解决方案的WCF服务可以被发现,添加,那么客户端的配置文件会自动被修改。


    现在,配置就已经弄好了,根本不需要修改什么。

    然后在客户端代码里使用:

    	    //ServiceReference1 是服务引用名称
                using (ServiceReference1.Service1Client client = new ServiceReference1.Service1Client())
                {
                    string re = client.GetData(0);
                }

    运行一切OK,就这么简单。

    ==============================================================
    这种寄宿于IIS的WCF服务,要能被发现和引用,似乎要在类开头加一句

    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]



  • 相关阅读:
    Codeforces Round #600 (Div. 2) A. Single Push
    Codeforces Round #600 (Div. 2) B. Silly Mistake
    106. 从中序与后序遍历序列构造二叉树
    23. 合并K个升序链表
    203. 移除链表元素
    328. 奇偶链表
    86. 分隔链表
    面试题 02.05. 链表求和
    面试题 02.02. 返回倒数第 k 个节点
    剑指 Offer 18. 删除链表的节点
  • 原文地址:https://www.cnblogs.com/leftfist/p/4257918.html
Copyright © 2011-2022 走看看