【问题标题】:Dynamically load .asmx web-service动态加载 .asmx 网络服务
【发布时间】:2009-09-04 16:33:41
【问题描述】:

我有一个可以执行多种功能的 .aspx 页面。函数的类型在运行时根据用户单击的按钮确定。这使得对 .asmx 方法的 Web 服务调用。 Web 服务调用返回 html 和 javascript,然后它们将成为原始页面的一部分。

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

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

【问题讨论】:

    标签: .net asmx web-services


    【解决方案1】:

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

    (免责声明,我只是快速浏览了一下代码项目页面,看看它应该是您想要的一个好的开始,它与我们所做的相同)

    【讨论】:

      【解决方案2】:

      “ASMX 文件”未加载。它们是定义 ASMX Web 服务的文件 - 称为。您不需要加载这些文件。

      【讨论】:

        【解决方案3】:

        查看此链接以获取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;
        }
        

        【讨论】:

        • 根据您的链接的域/URL 与您的用户名相同或包含您的用户名,您似乎已链接到您自己的网站。如果您这样做,您需要披露它是您的网站。如果您不透露它是您自己的网站,它通常被视为垃圾邮件。请参阅:What signifies "Good" self promotion?How to not be a spammer
        猜你喜欢
        • 1970-01-01
        • 2013-02-08
        • 2012-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-27
        相关资源
        最近更新 更多