【问题标题】:Pass struct or class to WCF Web Service using browser使用浏览器将结构或类传递给 WCF Web 服务
【发布时间】:2015-12-14 12:06:58
【问题描述】:

我正在创建 WCF Web 服务,它应该由仅使用 URL 的应用程序使用(例如 http://localhost:8000/TestMethod?s=testString)。 我已经成功地托管了这个 Web 服务,它运行良好等等。但现在,我只在那里传递简单的值。 例如,有下一个例子

[DataContract]
public struct Person
{
    [DataMember]
    public string FirstName;
    [DataMember]
    public string LastName;
}

//in service interface
[OperationContract]
[WebInvoke]
void RegisterUser(Person newUser);

我应该如何使用 URL 调用RegisterUser?结构参数看起来如何?还是我应该简单地将数据类型分解为简单的变量并将它们作为参数传递?

【问题讨论】:

  • 利用 Fiddler 选项卡 Compose 发送请求而不创建客户端。
  • 嗯,这实际上不是我正在寻找的答案,但感谢有用的提示!

标签: c# web-services wcf


【解决方案1】:

给方法设置Uri模板,以便服务识别要执行的方法并理解通过URL传递的数据。

查看文档

https://msdn.microsoft.com/en-us/library/system.servicemodel.web.webinvokeattribute(v=vs.110).aspx

为了传递复杂类型传递json字符串(更喜欢post而不是get)和用户序列化器将字符串反序列化为person对象。

或者考虑不同的requestType https://msdn.microsoft.com/en-us/library/system.servicemodel.web.webinvokeattribute.requestformat(v=vs.110).aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-02
    • 2015-09-30
    • 2016-08-24
    • 1970-01-01
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    相关资源
    最近更新 更多