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的批处理就是这个作用厄。这些都是在编码前的工作。
先把你的问题再描述清楚:
谁?在什么时机?要调用这个代码?这段代码是要生成代理类供编码使用?还是在运行时使用(直接不引用直接动态调用?)