WebService中如何使用多态来调用下一层的类?

zhaolh2002 2003-08-20 01:49:01
例如下一层的类都实现了一个接口IGetEntity,在WebService的WebMethod中执行以下语句:IGetEntity iget=new GetEntityN1();会报不支持序列化错。
...全文
34 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaolh2002 2003-08-28
  • 打赏
  • 举报
回复
WebService和后台接口统一(降低层间耦合,完全可以自动生成代码)大致思路如下:
1:所有调用方法统一参数:
参数可以用XmlNode或String的XML,这样方法可以统一取数据GetEntity(XmlNode xmlParameter)和提交数据CommitEntity(DataSet dsResult,XmlNode xmlParameter)的两种方法。
2:使用接口统一外部调用:
定义两个接口IGetEntity、ICommitEntity,根据实际功能的要求定义两个抽象类,一个只需要查询的基类(只实现一个IGetEntity),一个需要提交的基类(实现两个接口)
3:采用工厂方法和命名规则降低类调用耦合:
WebService定义功能名称,调用工厂类的创建方法,根据功能名称和命名规则创建对应的类。
zhaolh2002 2003-08-28
  • 打赏
  • 举报
回复
这个问题已经搞定:思考了几个月三天搞定。
yohomonkey 2003-08-21
  • 打赏
  • 举报
回复
你的类里面的代码看看。
主要是类的声明部分的。
适用了[....]吗?
csharplove 2003-08-21
  • 打赏
  • 举报
回复
UP,关注
MSDN中有如下资料,希望有所帮助:
IGetDispenser::GetDispenser

Used by procedures that have an interface on a transaction object and need an interface on the MS DTC proxy core object.

HRESULT GetDispenser (
REFIID
riid,

void **
ppvObject);



Parameters

riid [in]
IID of the requested interface on the MS DTC proxy core object.

ppvObject [out]
Pointer to the pointer to the requested interface.

Return Values

S_OK
Success.

E_INVALIDARG
The value of ppvObject is NULL.

E_UNEXPECTED
An unexpected error occurred.

12,163

社区成员

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

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