手把手教你学Web Service
http://tech.ddvip.com 2007年09月01日 社区交流
内容摘要:既然Web Service这么好,怎样写阿?在下就将在Visual Studio.net 中究竟如何编写Web Service的全过程一一奉上。
Server Error in ’/WebService4’ Application.
WebService4.Service1+Foo cannot be serialized because it does not have a default public constructor.
Description: An unhandled exception occurred during the execution of the current web request.Please review the stack trace for more information about the error and where it originated in the code.
Exception Details:System.Exception: WebService4.Service1+a cannot be serialized because it does not have a default public constructor.
Source Error:一大堆Error
怎么回事!看看error吧!WebService4.Service1+Foo出问题了,什么问题?
it does not have a default public constructor.
Faint,是都有default的吗?没有,系统会生成一个的波!不管了,加上一个。
public Foo()
{
//do nothing
}
再编译,成功了!至少Hello World的第一个页面出来了点击链接,不错,如你所想,还是出现上述输入数组的情形,道理都明白了吗?
Test
No test form is available as this service or method does not support the HTTP GET protocol.
SOAP
The following is a sample SOAP request and response.
The placeholders shown need to be replaced with actual values.
没事的,象3中情况一样,调用是没有问题的,放心!
5.好像都将完了吧?没有!诸位有没有考虑到在人家的程序中调用我的时候,怎样定的输入参数的类型?该类型使我自己定义的啊!如上变量Foo。好,我们到刚才生成的Windows Application里面看看那。在Solution Explore中的localhost,右键选择Update Web Referece。(我们改过,他可不知道,呵呵)把原来的语句改成:
localhost.Service1 ls=new localhost.Service1();
localhost.Foo FooTest=new localhost.Foo();
按点的时候,自动Foo会弹出来了,一切正常,没什么特别啊?好,我们回去改改Web Service。将class Foo改为:
public class Foo
{
public Foo ()
{
}
public Foo (int x)
{
str=new string[x];
}
public class HiddenOrNot
{
public HiddenOrNot()
{
//do nothing
}
}
public string[] str;
}
Web Method不变。回去Windows Application里面,再update一次,试试输入ls.,看看弹出来什么?没有我们新加上去的HiddenOrNot类吧?奇怪,我明明声明他是public的波!怎么不行?我们再回去Web Service,将Web Method改为:
public string HelloWorld(Foo FooTest, Foo.HiddenOrNot fhTest)
{
//do something
}
回去Windows Application 里面,再update一次,试试输入ls.,再看看弹出来什么? 有了!有ls.Foo 和ls.HiddenOrNot了。看来,Web Reference中,你的Web Service对象是否可见,就是根据输入参数确定的,他才不管你是public那(对了,记得constractor要为public波,还要有default constrator)。
6.好了,剩余的问题,就是上面几种情况的综合了,根据排列组合定理...嗯,不说了。各位看官自行实践ba!
作者:nfs 责编:豆豆技术应用
- VC/VC++按钮设计专题
- VC/VC++ 菜单专题
- VC/VC++ 工具条专题
- VC/VC++ 对话框教程
- VC/VC++ 报表教程
- VC/VC++ 控件
- VC/VC++ GDI
- Visual Studio 2008
- VC/VC++ MFC教程
- VC/VC++ QQ
- VC/VC++ Socket编程
- VC/VC++ 钩子编程
- TangramMini组件应用教程
- VC/VC++ 窗体
- VC/VC++ ADO 教程
- Windows CE 教程
- VC/VC++ DLL(动态链接库)编程
- VC/VC++ PDFlib
- VC与MATLAB编程
- VC/VC++ DirectShow 教程
- VC++入门视频教程
- VC/VC++ COM组件设计与应用
- VC/VC++ ATL
- VC/VC++ WTL
- VC/VC++ 定制调试诊断工具和程序
- VC/VC++ 进程
- VC/VC++ Win32
- VC/VC++ WMI
- VC/VC++ 消息
- 更多VC/VC++专题……