动态加载.asmx Web服务

时间:2009-09-04 16:33:42

标签: .net asmx web-services

我有一个可以执行许多功能的.aspx页面。功能类型在运行时确定,具体取决于用户单击的按钮。这使得对.asmx方法进行Web服务调用。 Web服务调用返回html和javascript,然后成为原始页面的一部分。

这个新内容附带了按钮点击,数据验证等的javascript事件。然后,这些事件会在另一个.asmx文件中调用自己的Web服务方法。页面加载时,主页面不知道这些其他.asmx文件。

那么,有没有办法按需动态加载这些.asmx文件?

3 个答案:

答案 0 :(得分:0)

您可以从Web服务动态创建程序集,我们在我工作的地方执行此操作。查看此codeproject链接,了解您可以使用的示例。

(免责声明,我只是快速地给了codeproject页面一次,看看它应该是你想要的一个好的开始,它与我们所做的一致)

答案 1 :(得分:0)

未加载“ASMX文件”。它们是定义ASMX Web服务的文件 - 区域。您无需加载这些文件。

答案 2 :(得分:-1)

查看project code的此链接!这有助于您在运行时调用Web服务。您可以保存和重用Web服务结构。 有一个简单的例子:

//how to use service proxy
var factory = new ProxyFactory();
var service = factory.ImportService("www.site.net/webservice.asmx");

//how to call service method
var proxy = new Proxy(service.ServiceFile, service.ServiceName);
var result = proxy.InvokeMethod("CallMe", new ProxyMember("Id", 123));

//how to use method result
foreach (var item in result)
{
    var Id = item.Members["Id"].Value;
}