从事软件开发将近5年了,一直从事着单机版软件的研发,一直用着Delphi 6.0,偶尔用一下VC++ 6.0。
从现在这个项目开始,我学习并使用了C# .NET 2008,并将软件架构改为了CS。
在项目即将结束的时候,我在思考我在技术上的未来(我也在同时管理我的项目)。
对于SOA,我了解不多,只知道是Service Oriented Architecture,面向服务的体系结构。
从哪里入手学习,也不甚明了。
于是就锁定了Webservice,学习一下Webservice,争取用Webservice技术来实现我的下一项目。
下载了《ASP .NET 3.5 开发大全》电子版,花了三晚上,大概看了看。
打开VS 2008,顺利的创建了ASP.NET web服务程序MyFirstWebservice,顺利增加了一个Add服务。
调试该服务,顺利完成我要的功能,字符串相加返回字符串。
为了测试Webservice服务的调用,继续创建ASP .NET web应用程序MyFirstWebApplication。
按照网上的方法调用我的Add服务,调试正常,心里窃喜。
OK,开始发布,将MyFirstWebservice和MyFirstWebApplication同时发布到我的IIS上。
通过浏览器打开Default.aspx,运行,报错。昏倒,报出一堆不懂的提示。
网上查了查,哦,要在MyFirstWebservice的Web.Config文件的<system.web>节加上如下代码:
<webServices>
<protocols>
<add name="HttpPost"/>
<add name="HttpGet"/>
</protocols>
</webServices>
不懂,照做,不管用,于还是一堆搞不懂的提示。
继续网上搜索,要我到C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727下运行aspnet_regiis.exe /i,没办法,照做。
疯了…………,继续搞不懂的提示。
开发发布之后的IIS目录,
让我发昏,MyFirstWebservice和MyFirstWebApplication同时发布在一个目录中,所以只有一个Web.Config文件。
将MyFirstWebservice重新发布到另一个文件夹Webservice,并重新发布MyFirstWebApplication后,再次打开仍然不行。
再找原因,网上没人有答案,靠自己了。
仔细找,MyFirstWebApplication的Web.Config中有一下一段代码
<client>
<endpoint address="http://localhost:5520/Service1.asmx" binding="basicHttpBinding"
bindingConfiguration="Service1Soap" contract="ServiceReference1.Service1Soap"
name="Service1Soap" />
</client>
难怪打不开呢,地址不对。记得调试的时候,曾提示修改Web.Config以进行调试。
于是将地址马上修改为:
<client>
<endpoint address="http://localhost/Webservice/Service1.asmx" binding="basicHttpBinding"
bindingConfiguration="Service1Soap" contract="ServiceReference1.Service1Soap"
name="Service1Soap" />
</client>
再次打开Default.aspx,运行,正常!高兴!O(∩_∩)O~
虽然在这个过程中遇到了多个每个人第一次使用WebService都遇到的问题,但幸运的是一个一个顺利的搞定了。这也将推动着我继续学习WebService