首页 新闻 搜索 专区 学院

这么写webservice 合乎规范吗

0
悬赏园豆:5 [已关闭问题] 关闭于 2014-02-22 14:32
  [WebMethod]
    //写入数据
    public string Insert(string json)
    {
        //解析json
        aaData data = json.FromJson<aaData>();
        string result = string.Empty;
        //根据json的tablename 判断要写入哪张表
        switch (data.TableName)
        {
            case "Tab_Operation":
                result = Function.Insert(data.Json.FromJson<TabOperation>());
                break;
            case "Tab_Inspect":
                result = Function.Insert(data.Json.FromJson<TabInspect>());
                break;
            case "Tab_Complete":
                result = Function.Insert(data.Json.FromJson<TabComplete>());
                break;
            default:
                break;
        }
        return result;
    }

RT,如果有不合适的地方,请指正

sam.c的主页 sam.c | 初学一级 | 园豆:148
提问于:2013-12-11 13:14
< >
分享
所有回答(1)
0

你使用的 Asp.Net Web Service,还是 WCF ,或者你自己实现的 HTTP 框架?

如果是前两者,那么你的接口不符合规范,你应该用强类型替代你的传入传出类型(如果你的返回值确实是字符串的话就不必),也就是说你不能使用按照 JSON 序列化后的字符串作为传入传出参数,除非你的类型就是一个 JSON 字符串。

public InsertResult Insert(aaData data);

Launcher | 园豆:45045 (高人七级) | 2013-12-11 13:38

用的Web Service,问题是要传递对象过来,写入数据库,除了json还能用别的办法吗?

还有强类型代替传入传出类型是什么意思? 这里的返回值是用来判断是否成功的,string换成bool可以吗

支持(0) 反对(0) sam.c | 园豆:148 (初学一级) | 2013-12-11 13:43

@小欢乐: 我知道你用的 Web Service,但是你是使用的什么技术实现的 Web Service,Web Service 只是一种规范,如何实现的,根据不同的框架是不一样的。请你先阅读下这里:http://baike.baidu.com/view/67105.htm

通常来说,Web Service 是基于 HTTP 的,并且使用 XML 文本作为传输的数据格式,一个标准的 Web Service 框架(比如 WCF)会按照下面的流程来执行:

1、客户端将强类型数据结构序列化成 XML 文本内容,然后将该 XML 文本内容作为 HTTP BODY 发送给服务器;

2、服务器收到请求后,将 HTTP BODY 反序列化成强类型数据结构,并调用服务接口。

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2013-12-11 13:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册