Pokazywanie postów oznaczonych etykietą WCF Service. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą WCF Service. Pokaż wszystkie posty

niedziela, 1 czerwca 2008

„Could not load file or assembly App_Web” – problem rozwiązany. Part 3

Niedawno pisałem o problemie związanym z komunikacją pomiędzy aplikacją Silverlight, a WCF Service umieszczonym w aplikacji ASP.NET (link). Ponieważ nie dawało mi to spokoju oraz problem ten występował także w aplikacji konkursowej (patrz Win The Web), to postanowiłem znaleźć jego przyczynę.

Okazało się, że przyczyną całego zamieszania, było to, że serwis WCF jest hostowany razem z aplikacją ASP.NET w tej samej domenie. W efekcie, z jakiś powodów, w pewnym momencie WCF Service przestaje działać i nawet restart IISa nie pomaga.

Lokalnie (tak jak pisałem poprzednio) można czyścić katalog C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\, natomiast na serwerze IIS najszybciej jest wgrać ponownie katalog bin z nowo przekompilowanej wersji projektu.

Ale, że lepiej zapobiegać niż leczyć, to należy:

  1. W pliku konfiguracyjnym ASP.NET (web.config), w elemencie <System.serviceModel>, dodać wpis <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>.
  2. W WCF Service, a dokładniej w kodzie usługi dodajemy

    using System.ServiceModel.Activation;


    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]

    public class KlasaService : IKlasaService

    { .. }

Zmiany te spowodują, że WCF Service będzie zachowywać się jak zwykły ASMX, czyli straci swoje specjalne właściwości, ale za to będzie współdziałał bezawaryjnie z aplikacją ASP.NET. Na temat powyższych ustawień (Allowed/Required) nie będę się rozpisywał w tym poście i zapraszam po więcej na stronę MSDNa (link).

Resources

  • Webcast Tim Heuer-a na temat połączeń Silverlighta z WCFem (link) – POLECAM!!! (szkoda, że nie ukazał się z tydzień wcześniej, zaoszczędziło by mi to bardzo dużo czasu ;) )
  • Wpis Kemal Tolga Koseoglu (link) - Polecam!
  • Dokładny opis całego problemu (link) - Polecam!
  • Obszerny artykuł na w/w temat tylko w połączeniu z ASMXem (link)
  • Dyskusja na forum Silverlight.net na w/w temat(link)


Pozdrawiam,
Jacek Ciereszko

poniedziałek, 26 maja 2008

Problemy i częste błędy podczas pracy z Silverlight-em . Part 1

Jednym z najbardziej dokuczliwych błędów jakie możemy otrzymać jest błąd ładowania plików lub assembly. Pojawia się on podczas pracy z aplikacją Silverlight, która łączy się z WCF Services w aplikacji ASP.NET. Wygląda to mniej więcej tak:

Fix for ASP.NET "Could not load file or assembly App_Web..." Error..

Rozwiązanie:

Rozwiązaniem które znam, jest czyszczenie katalogu C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\

Po usunięciu wszystkich plików dotyczących projektu, błąd znika na jakiś czas i aplikacja działa poprawnie. Aby móc wyczyścić katalog, należy zamknąć projekt w Visual Studio.

Nie wiem czy jest to jedyne i poprawne rozwiązanie tego problemu ale na pewno działa :)

Resources

edit:

Znalazłem przyczynę i rozwiązanie powyższego problemu!! (link)


Pozdrawiam,
Jacek Ciereszko