2009-02-24 2 views
1

Я создаю веб-страницу для SharePoint, которая будет создавать экземпляр Silverlight UserControl и передавать его некоторым данным. Моя проблема заключается в том, что когда я создал свой образец-WebPart и просто создавал экземпляр элемента управления Silverlight, веб-страница, добавленная на страницу или отображаемая в галерее веб-частей, вместо того, чтобы отображать пустой, отображает страницу с сообщением «Файл не найден». Никаких подсказок в файлах журналов в том, какой файл не найден или почему эта ошибка возникает. Вот мой код:Silverlight WebPart в SharePoint

using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.SilverlightControls; 

namespace TestSLWP { 
    public class CustomWebPart1 : WebPart { 

    protected override void CreateChildControls() { 
     Label lblHello = new Label(); 
     lblHello.Text = "Hello"; 
     Controls.Add(lblHello); 
     Silverlight sl = new Silverlight(); 
    } 
    } 
} 

Я добавил ссылки на System.Web.Extensions и System.Web.Silverlight к проекту. Они находятся в GAC, а веб-часть написана и скомпилирована на том же компьютере, на котором находится SharePoint. Если я изменил CreateChildControls() следующим образом:

protected override void CreateChildControls() { 
    Silverlight sl = new Silverlight(); 
    sl.ID = "CustomWebPart1SL"; 
    sl.Source = "/Silverlight/CustomWebPart.xap"; 
    this.Controls.Add(sl); 
} 

У меня такая же ошибка. Также, если я удаляю первую косую черту в sl.Source, я получаю ту же ошибку, даже если файл присутствует в виртуальном каталоге в том же пуле приложений, что и SharePoint. Поэтому, потому что ошибка связана с просто созданием экземпляра объекта Silverlight, считайте, что файл, который не может быть найден, не является моим XAP.

В каком файле не удается найти SharePoint и что я могу сделать с ним?

Вот сообщение об ошибке:

http://www.freeimagehosting.net/uploads/2dca8dbdfb.png

ответ

2

Привет Я нашел полную прогулку через о том, как получить Silverlight веб-частей получить работает на вашем приложении: http://www.vbforums.com/archive/index.php/t-557072.html

Как вы можете видеть, что добавлены еще некоторые вещи в web.config у вашей регистрации сборки.

+0

Спасибо за ссылку, я полностью ее рассмотрю и вернусь к вам с моими результатами :-) –

+0

Эта страница была полезна для того, чтобы точно указать, что нужно для входа в Web.Config, спасибо большое. :-) Я понятия не имел, что в этом не хватает. Кроме того, хотя я проверил и дважды проверял, DLL отсутствовала в GAC, и это, вероятно, дало мне «Файл не найден». исключение. Большое спасибо! –

1

Включение SilverLight требует Lagre количество модификаций веб-конфигурации. Вы их добавили?

+0

Я не могу сказать, что сделал большое количество изменений в web.config, я только добавил сборку «System.Web.Silverlight, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35» в SafeControls. Я также добавил два типа mime в IIS. Существуют ли другие модификации, которые я должен делать? –

+0

О, я добавил, что, конечно же, я добавил свою веб-страницу как SafeControl. Я попробовал добавить sectionGroup system.web.extensions & co как в чертежах, но я все равно получаю «Файл не найден». –

+0

Спасибо за подсказку, вместе со ссылкой ниже, я смог получить этот файл так, как он должен быть. :-) –

0

Возможно, возникла проблема с вашей папкой хранения с контролем silverlight. Вы должны зарегистрировать путь к этому хранилищу как безопасный в web.config (например, найти в строке web.config «~/controltemplates»).

Смежные вопросы