mono 调用windows webService

1.         实现linux mono Develop中调用windows 中的webService

 

 

 

 

 

 

 

 

 

 

 

 

 

linux windows 在一个局域网的网段中

windows IIs中发布webService

 

2.         windows 中的设置

webService 的代码

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Services;

 

namespace MonoWebService

{

    /// <summary>

    /// Service1 的摘要说明

    /// </summary>

    [WebService(Namespace = "http://tempuri.org/")]

    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

    [System.ComponentModel.ToolboxItem(false)]

    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。

    // [System.Web.Script.Services.ScriptService]

    public class Service1 : System.Web.Services.WebService

    {

 

        [WebMethod]

        public string HelloWorld()

        {

            string text=string.Format("Machine Name:{0} Time:{1}",this.Server.MachineName,DateTime.Now.ToString());

 

            return text;

        }

    }

}

 

发布webService

QQ截图未命名.jpg

 

IE中测试

2.jpg

 

 

如果本机的防火强开启,请关闭。如果防火墙开启,windows会阻止linux的访问

3.jpg

 

 

3.         Linux中的设置

Mono中的调用代码

 

using System;

using System.Collections;

namespace WebServiceCallApp

{

         class MainClass

         {

                   public static void Main(string[] args)

                   {

                            //Console.WriteLine("Hello World!"); 

                            ArrayList myList=new ArrayList();

                           

                            WinService.Service1 myService=new WinService.Service1();

                            Console.Write(myService.HelloWorld());

                            Console.Read();

                   }

         }

}

 

确认Windows WebService 可访问

1.jpg

Mono中添加webService

        2.jpg

注意一定要加成http://10.168.14.131/Service1.asmx?wsdl

Wsdl 必须有,不然monoDevelop 找不到webService

 

 

 

 

 

运行效果

3.jpg

 

 

posted @ 2009-06-03 19:03  b0b0  阅读(2032)  评论(4编辑  收藏  举报