WCF字符串输入长度

时间:2014-02-16 17:55:28

标签: c# .net wcf

我有合同:

        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json)]
        bool SendEmail(string mailMessage);

我这样称呼它:(很长 - 直接退出Chrome调试器)

http://localhost:8093/AnnualReviewService/json/SendEmail?callback=json_Callback0&mailMessage={%22From%22:{%22address%22:%22fake.manager@fooo.com%22},%22To%22:[],%22Bcc%22:[{%22address%22:%22Fake.ProjectManager@Fooo.com%22},{%22address%22:%22Fake.ProjectManager@Fooo.com%22},{%22address%22:%22Fake.ProjectManager@Fooo.com%22},{%22address%22:%22Fake.ProjectManager@Fooo.com%22},{%22address%22:%22Fake.ProjectManager@Fooo.com%22},{%22address%22:%22Fake.ProjectManager@Fooo.com%22},{%22address%22:%22Fake.ProjectManager@Fooo.com%22}],%22CC%22:[],%22Priority%22:2,%22Subject%22:%22Important!%20Peer%20Feedback%20Needed%22,%22Body%22:%22\n\t\t\t%3Cp%3E%3Cb%3EAll,%20%3C/b%3E%3C/p%3E\n\t\t\t\t%3Cp%3E%3Cb%3E %3C/b%3E%3C/p%3E\n\t\t\t\t%3Cp%3E%3Cb%20class=\%22ng-binding\%22%3EI%20am%20reaching%20out%20to%20you%20to%20request%20very%20targeted\n\t\t\t\tfeedback%20for%20Fake%20User.%20You%20have%20been%20chosen%20due%20to%20your%20experience\n\t\t\t\tworking%20with%20this%20person.%20This%20feedback%20is%20kept%20anonymous,%20and%20its%20intent%20is%20to%20not\n\t\t\t\tonly%20point%20out%20the%20areas%20where%20this%20person%20excels,%20but%20to%20also%20offer%20some\n\t\t\t\tconstructive%20feedback.%3C/b%3E%3C/p%3E\n\t\t\t\t%3Cp%3E%3Cb%3E %3C/b%3E%3C/p%3E\n\t\t\t\t%3Cp%3E%3Cb%3EIt%20is%20very%20important%20that%20each%20of%20you%20take%20the%20time%20in\n\t\t\t\tthe%20next%20couple%20of%20days%20to%20provide%20me%20this%20feedback.%3C/b%3E%3C/p%3E\n\t\t\t\t%3Cp%3E%3Cb%3E %3C/b%3E%3C/p%3E\n\t\t\t\t%3Cp%3E%3Cb%3EThank%20you!%3C/b%3E%3C/p%3E\n\t\t\t\t%3Cp%3E %3C/p%3E\n\t\t%20%20%22,%22IsBodyHtml%22:true}

当我调试所有我看到传入的是:

"{\"From\":{\"address\":\"Fake.Manager@FOOO.com\"},\"To\":[],\"Bcc\":[{\"address\":\"Fake.ProjectManager@FOOO.com\"},{\"address\":\"Fake.ProjectManager@FOOO.com\"},{\"address\":\"Fake.ProjectManager@FOOO.com\"},{\"address\":\"Fake.ProjectManager@FOOO.com\"},{\"address\":\"Fake.ProjectManager@FOOO.com\"},{\"address\":\"Fake.ProjectManager@FOOO.com\"},{\"address\":\"Fake.ProjectManager@FOOO.com\"},{\"address\":\"Fake.ProjectManager@FOOO.com\"},{\"address\":\"Fake.ProjectManager@FOOO.com\"}],\"CC\":[],\"Priority\":2,\"Subject\":\"Important! Peer Feedback Needed\",\"Body\":\"\\n\\t\\t\\t<p><b>All, </b></p>\\n\\t\\t\\t\\t<p><b>"

我能传递的内容是否有限制?我找不到任何有意义的东西。

这是.NET 4.5

修改 如果有限制,请提供指向其的链接

谢谢

2 个答案:

答案 0 :(得分:0)

由于您在标题“WCF字符串输入长度”中指定,我想指向您的StackOverflow文章:

Add restrictions to WCF in method/data member

(会将此作为评论添加,但我刚刚加入时尚未被允许。)

希望这有帮助!

答案 1 :(得分:0)

这不是您问题的直接答案,但您确实应该考虑使用内容类型(如application / x-www-form-urlencoded)将其作为请求正文中的内容的POST。正如其他人在评论中指出的那样,最终对URL的适用程度有一定的限制。此外,似乎这就是设计为HTTP的GET操作。从技术上讲,GET应该是幂等的,这似乎会改变服务器上某种状态。