当前位置: 代码迷 >> Web Service >> 使用代码添加WebService解决思路
  详细解决方案

使用代码添加WebService解决思路

热度:286   发布时间:2012-02-15 12:09:44.0
使用代码添加WebService
WebService方法已经写好了,我们平时添加都是在项目里右键添加服务引用,这样的操作模式。
但是,我希望能使用代码,来控制这一步。
举个例子来说,备份数据库,直接点击右键备份就行,但是我想做一个小工具,让用户配对应的参数,然后点击按钮进行备份。
现在我同样需要这样的方式,来取代添加WebService,添加或者更改已存在的WebService均可,求高人指教。

------解决方案--------------------
1、首先写个批处理文件:

@echo off
PATH = %PATH%;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin;
wsdl /out:D:\CB_Class_SystemFacaed.cs /namespace:代理类的命名空间 http://192.168.0.28/systemfacaed/systemfacaed.asmx
pause...

生成代理类,并加入项目中。
写个单件实例:
C# code

/// <summary>
        /// 单件实例
        /// </summary>
        private static UI.WinForm.BaseFrm.SystemsFacaed.SystemFacaed m_Service = null;

        /// <summary>
        /// 单件实例
        /// </summary>
        [DefaultValue(typeof(UI.WinForm.BaseFrm.SystemsFacaed.SystemFacaed), null)]
        public static UI.WinForm.BaseFrm.SystemsFacaed.SystemFacaed MyService
        {
            get
            {
                if (m_Service == null)
                {
                    m_Service         = new UI.WinForm.BaseFrm.SystemsFacaed.SystemFacaed();
                    // Url保存在配置文件,读取赋值即可。
                    m_Service.Url     = CommonGenerator.ReadMainConfigFile("LoginServiceURL");                    
                }
                return m_Service;
            }
            set
            {
                CommonGenerator.m_Service = value;
            }
        }

------解决方案--------------------
是想用代码代替生成代理类的操作?ls的批处理就是这个作用厄。这些都是在编码前的工作。

先把你的问题再描述清楚:
谁?在什么时机?要调用这个代码?这段代码是要生成代理类供编码使用?还是在运行时使用(直接不引用直接动态调用?)
  相关解决方案