做的webservice服务,别发人请求的Content-Type是Application\json,报错

LintyW 2018-10-23 04:50:44
最近公司项目,需要做一个webservice,我不输在了iis7上,别发人请求的Content-Type是Application\json,但是不能够正常返回,如果发送请求时 Content-Type是Application\x-www-form-urlencoded就能够正常收到返回结果。我在网上看的说是把[System.Web.Script.Services.ScriptService]取消注释就行,但是我用postman试试了还是报错,返回的内容是有问题的。
  [WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
[System.Web.Script.Services.ScriptService]


发送请求方 规定Content-Type是Application\json,请问如何解决?有没有配置的方法?
...全文
1242 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Bataliz 2020-07-11
  • 打赏
  • 举报
回复
            Stream s = System.Web.HttpContext.Current.Request.InputStream;
            byte[] b = new byte[s.Length];
            s.Read(b, 0, (int)s.Length);
            string json = Encoding.UTF8.GetString(b);
这串代码在webapi里可以接收到字符流,但是在webservice里收不到
stherix 2018-10-24
  • 打赏
  • 举报
回复
webservice很容易支持get,post的,而且也应该支持,提交form表单的方法太笨重 配置文件里增加 <protocols> <add name="HttpGet"/> <add name="HttpPost"/> </protocols>
by_封爱 2018-10-24
  • 打赏
  • 举报
回复
你是做服务端的.. 你有你自己的标准...所以 你会去在乎"客户端"使用不标准的类型? 假设你去调用微信接口 使用Application\x-www-form-urlencoded. 但是微信收不到. 难道你去找微信 告诉他 你这不标准 我这么请求你都收不到..我这么请求自己的接口 是可以的? 你不怕被砍死吗? 所以 你提供标准 就叫客户端严格执行就行了..
  • 打赏
  • 举报
回复
搞清楚webservice和webapi的区别 ws是rpc webapi是rest

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧