当前位置: 首页 > 面试题库 >

启用WCF服务以与JSON一起使用

丁雅惠
2023-03-14
问题内容

我创建了一个wcf服务。当我通过添加为Web服务在.net中简单使用时,效果很好。但我想使其能够用于iPhone应用程序作为JSON调用。为了进行测试,我在.net中使用JSON进行了测试,但无法正常工作。

我知道以前问过这样的问题,我一直在寻找无法为我找到解决方案。

我的配置:

<system.serviceModel>
<behaviors>
  <serviceBehaviors>
    <behavior name="servicebehavior">
      <serviceMetadata httpsGetEnabled="true" />
    </behavior>
  </serviceBehaviors>
  <endpointBehaviors>
    <behavior name="endpointBehavior">
      <enableWebScript />
      <webHttp defaultBodyStyle="Wrapped" defaultOutgoingResponseFormat="Json" />
    </behavior>
  </endpointBehaviors>

</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<services>
  <service name="MyService" behaviorConfiguration="servicebehavior">
    <endpoint address=""
              behaviorConfiguration="endpointBehavior"
              binding="webHttpBinding"
              contract="IMyService" />
  </service>
</services>

接口代码:

[ServiceContract]
public interface IGolfPyramidService
{



    [WebInvoke(UriTemplate = "/Test", Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
    [OperationContract]
    string Test();

}

Myservice.cs代码:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class MyService : IMyService
{        
    public string Test()
    {
        return "success";
    }
}

我想使用以下网址格式调用该方法:http :
//example.com/MyService.svc/test


问题答案:

如果您是初学者,那么这将指导您创建支持json和xml的网络服务,这些服务可以由IOS和android使用。
http://www.codeproject.com/Articles/105273/Create-RESTful-WCF-Service-API-
Step-By-Step-Guide



 类似资料:
  • 问题内容: 在一个较大的项目中,我很难获得WCF服务方法来使用JSON参数。因此,我制作了一个较小的测试用例,并产生了相应的行为。如果我调试服务,则可以在服务调用中看到参数值为null。Fiddler确认正在发送JSON,JsonLint确认它有效。 下面的代码带有调试注释。 …及其实施 调用前三个方法中的任何一个都可以正常工作(但没有参数,您会注意到)。使用此客户端代码调用最后一个方法(Tota

  • 假设没有访问MongoDB服务器,使用Meteor开发没有多大意义,我是否正确? Meteor是一个构建、打包和部署应用程序和网站的优秀框架。从开发角度来看,模板和响应性数据库工作使原型制作比大多数MVC容易得多。 我知道在幕后,WebSocket和DDP提供了实时同步的魔力,这意味着你需要访问MongoDB服务器,这是你在GoogleAppEngine、Parse或Kinvey等PaaS解决方案

  • 我是个很新的程序员。我在工作中的任务之一是让我们的定制工具创建草稿电子邮件,并将其放入运行该工具的用户的草稿电子邮件文件夹中。我们目前使用Exchange Server 2010(但正在迁移到Exchange Online)。 这个链接讨论了UseDefaultCredentials,但我似乎不知道如何实现它。我创建了一个名为service的ExchangeService对象,并使用以下凭据与Ex

  • 我可以在我自己的电脑上使用这个程序,但是我不能在服务器上使用。 服务器使用最高权限管理员打开程序。 具有的服务器WCF HTTP激活功能。NET4。5号门开着。 服务器endpoint地址使用"http://localhost",如下所示 endpoint地址="http://localhost"绑定="basicHttpBind"bindingConfiguration="NewBinding0

  • 我正在尝试使用tika包来解析文件。Tika已成功安装,使用cmd中的代码运行 我在Jupyter中的代码是: 然而,我收到以下错误: 2018-07-25 10:20:13,325[MainThread][WARNI]无法看到启动日志消息;正在重试...2018-07-25 10:20:18,329[MainThread][WARNI]无法看到启动日志消息;正在重试...2018-07-25 1

  • 问题内容: 我有一个相对简单的问题,我似乎找不到答案。 当WCF执行对象的序列化时,它会自动应用类型提示。对于Json服务,这会在每个称为的复杂对象上产生一个额外的字段。对象定义为: 将序列化为: 通常这不是问题。不幸的是,当您开始将类嵌套到相当大和复杂的结构中时,这将导致大量返回给客户端的JSON响应的开销。 当然,必须有一种方法来禁用此行为,但是我一直找不到(Rick Strahl早在2007