Динамически загружать веб-сервис .asmx

У меня есть страница .aspx, которая может выполнять ряд функций. Тип функции определяется во время выполнения в зависимости от того, какую кнопку нажимает пользователь. Это делает вызов веб-службы методу .asmx. Вызов веб-службы возвращает html и javascript, которые затем становятся частью исходной страницы.

Этот новый контент имеет события javascript, связанные с нажатием кнопки, проверкой данных и т. д. В свою очередь, эти события затем вызывают свои собственные методы веб-службы в другом файле .asmx. Главная страница не знает об этих других файлах .asmx при загрузке страницы.

Итак, есть ли способ динамически загружать эти файлы .asmx по запросу?


person Community    schedule 04.09.2009    source источник


Ответы (3)


Вы можете создать сборку динамически из веб-сервиса, мы делаем это там, где я работаю. Перейдите по этой ссылке codeproject для примера, с которым вы можете работать.

(отказ от ответственности, я только быстро просмотрел страницу codeproject, чтобы увидеть, что это должно быть хорошим началом для того, что вы хотите, это похоже на то, что мы делаем)

person Andrew Barrett    schedule 04.09.2009

«Файлы ASMX» не загружаются. Это файлы, определяющие веб-службы ASMX, которые вызываются. Вам не нужно загружать эти файлы.

person John Saunders    schedule 13.02.2010

По этой ссылке вы найдете код проекта! Это помогает вам вызывать веб-службу во время выполнения. Вы можете сохранить и повторно использовать структуру веб-сервиса. Есть простой пример:

//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;
}
person hadi zaker    schedule 13.05.2018
comment
Судя по тому, что домен/URL ваших ссылок совпадает с вашим именем пользователя или содержит его, похоже, что вы ссылаетесь на свой собственный сайт. Если вы это сделаете, вы должны сообщить, что это ваш сайт. Если вы не сообщаете, что это ваш собственный сайт, его часто считают спамом. См.: Что означает хорошая самореклама? и Как не быть спамером. - person Samuel Liew♦; 13.05.2018