У меня есть библиотека классов. В одном из классов, я добавляю ссылку скрипта на странице, как это:Как добавить ServiceReference во встроенный файл?
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
if (this.Page != null)
{
ScriptManager sm = ScriptManager.GetCurrent(this.Page);
ServiceReference reference = new ServiceReference("~/Admin/Services/ContactsService.asmx");
reference.InlineScript = true;
sm.Services.Add(reference);
}
}
Для пути к файлу ServiceReference, есть способ, чтобы добавить вложенный файл, а? Я хочу сохранить все самодостаточным в своей библиотеке классов вместо того, чтобы отбрасывать файл в папку веб-сайта.
Веб-служба должна существовать, то есть быть доступной по URL-адресу, поэтому вы не можете просто вставлять файл .asmx и использовать для этого доступ к ресурсам. Вы пытаетесь ссылаться на службу в своей собственной библиотеке, если это так, добавьте регулярную ссылку на нее, а не через веб-службы. –
Он находится в той же библиотеке, но мне нужно вызвать WebMethod через Javascript. Можно ли добавить регулярную ссылку (не уверен, что вы имеете в виду)? Кроме того, я знаю, что он должен существовать через настоящий URL-адрес, поэтому я не могу сделать что-то вроде этого: новый ServiceReference (Page.ClientScript.GetWebResourceUrl (this.GetType(), "MyLibrary.Services.FormsService.asmx")) Ошибка говорит, что она не поддерживается, но, возможно, я делаю что-то неправильно. – TruMan1
Возможно, у меня немного над головой, но вы можете определить [WebMethods] в ваших .aspx-файлах и вызвать их из javascript. Проверьте эту ссылку для получения информации - http://www.dotnetcurry.com/ShowArticle.aspx?ID=109. Таким образом вы можете сохранить все это на странице, которую вы создаете, или на странице, где вы используете свою библиотеку. –