当前位置:编程学习 > C#/ASP.NET >>

最近在做一个web接口,接收用户xml请求,然后做相应处理,如何辨别用户请求

我现在想到的方法是通过传过来的一个特定标记然后做一个swtich....case的判断。
这个过程如何设计比较好呢?
要求:扩展性要好,因为接口实现的功能越来越多。 --------------------编程问答-------------------- 我简单说一下,给你提供一个思路,你可以继续完善。
用户向web接口抛送的xml的节点中可以包含很多信息。比如:businesscode(业务编码,根据它来决定调用什么方法)、ip、mac地址都可以封装到某个节点中来判断用户的授权。在你的服务端可以定义这些业务编码来对应不同的操作。你就像jsp的structs框架都是通过url来指向不同的method。 --------------------编程问答-------------------- 抽象工厂+反射技术。
百度一下。 --------------------编程问答-------------------- 如果是我的话,会使用多个methods. --------------------编程问答-------------------- 同意楼上的..没必要做判断 多个方法就行了. --------------------编程问答-------------------- 既然都用了swtich....case,那里面的判断基本上就写死了,不太好扩展,支持3楼的 --------------------编程问答--------------------
引用 1 楼 guwei4037 的回复:
我简单说一下,给你提供一个思路,你可以继续完善。
用户向web接口抛送的xml的节点中可以包含很多信息。比如:businesscode(业务编码,根据它来决定调用什么方法)、ip、mac地址都可以封装到某个节点中来判断用户的授权。在你的服务端可以定义这些业务编码来对应不同的操作。你就像jsp的structs框架都是通过url来指向不同的method。


引用 3 楼 findcaiyzh 的回复:
如果是我的话,会使用多个methods.

看了一下taobao上面的接口,都是.......com/rest/?method=method1&......
不同的方法,也就这个method不同,这个在服务器端是怎么解释的? --------------------编程问答-------------------- 顶上去,有没有实际做过的,给点经验。 --------------------编程问答--------------------
引用 6 楼 evionmzs 的回复:
看了一下taobao上面的接口,都是.......com/rest/?method=method1&......
不同的方法,也就这个method不同,这个在服务器端是怎么解释的?


比如说你编辑一个文件类似于:

     method1=ABC.myBLL.command1,ABC
     kasdkfakdfa=ABC.myBLL.kksiisdif,ABC
     ...........

然后进程启动后,读取这个文件,得到 Dictionary<string, Type> 集合。

然后,每当得到一个请求,查找这个 Dic,得到命令处理程序的 Type。 --------------------编程问答--------------------
引用 8 楼 sp1234 的回复:
Quote: 引用 6 楼 evionmzs 的回复:

看了一下taobao上面的接口,都是.......com/rest/?method=method1&......
不同的方法,也就这个method不同,这个在服务器端是怎么解释的?


比如说你编辑一个文件类似于:

     method1=ABC.myBLL.command1,ABC
     kasdkfakdfa=ABC.myBLL.kksiisdif,ABC
     ...........

然后进程启动后,读取这个文件,得到 Dictionary<string, Type> 集合。

然后,每当得到一个请求,查找这个 Dic,得到命令处理程序的 Type。

这个思路可以试一下。 --------------------编程问答-------------------- 在.net framework中有一个MEF框架,你可以参考msdn:http://msdn.microsoft.com/zh-cn/library/dd460648(v=vs.110).aspx

在msdn举得一个例子中,描述了一种动态增加操作命令的情形。
补充:.NET技术 ,  Web Services
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,