Czy ktoś wie, jak to zrobić? Zbudowałem backend C# class w asp.net, ale chcę uzyskać dostęp do tych samych klas bez odtwarzania ich w silverlight. Czy to możliwe?odwoływanie się do asp.net C# classes/methods in silverlight project
Odpowiedz
Możesz ponownie użyć plików cs, dodając je do projektu AS LINK. Kliknij prawym przyciskiem myszy w projekcie i wybierz Dodaj istniejące ... Przejdź do pliku, a następnie w przycisku Otwórz użyj strzałki rozwijanej z prawej strony, aby wybrać opcję Dodaj jako łącze. Zobaczysz plik dodany do twojego projektu za pomocą ikony, na której jest nałożona mała ikona skrótu systemu Windows.
Po prostu zapamiętaj - środowisko ASP.Net działa w środowisku wykonawczym .Net. Silverlight działa w CoreCLR (środowisko wykonawcze Silverlight). Nie wszystko, co się kompiluje, będzie się kompilowało w drugim ...
Aby oddzielić trochę rzeczy, pomocne mogą być różne dyrektywy #if, można również użyć klas częściowych i metod częściowych (aby dodać zawartość działającą tylko na serwerze lub kliencie.)
Dobrze, ASP.NET sama nie zadziała (ditto Wiele z pełnymi bibliotekami), ale jestem zakładając po prostu oznacza, że lokalny model domeny itp
IIRC ty możliwe, spróbuj po prostu odwołać się do niego, ale może również wygenerować komunikat ostrzegawczy. Oczywiście musisz być wyjątkowo ostrożny, aby nie używać niczego, czego druga platforma nie obsługuje ...
IMO, lepszą opcją jest tutaj utworzenie drugiego csproj zawierającego te same pliki .cs (lub oszukiwanie z zawiera znak wieloznaczny/głęboki). I zbuduj oba. To samo C#, różne biblioteki dll/platformy.
Często zdarza się, że potrzebny jest również bardzo mały stosowanie dyrektyw z #if
.
samo pytanie, które ja zapytałem avidgator powyżej – locoboy
@ cfarm54 - samą odpowiedź ... –
WCF RIA Services może pomóc w rozwiązaniu problemu. Silverlight nie używa tego samego środowiska wykonawczego co program ASP.Net i nie można bezpośrednio udostępniać zestawów zawierających klasy modeli po stronie klienta i serwera. Aby rozwiązać ten problem, usługi RIA usługi WCF będą w przejrzysty sposób generować klasy po stronie klienta w oparciu o klasy modeli po stronie serwera. Oczywiście usługi WCF RIA umożliwiają również tworzenie, odczytywanie, aktualizowanie i usuwanie obiektów tych klas za pomocą usługi sieciowej.
MSDN ma bardziej szczegółowe informacje na temat WCF RIA Services Client Code Generation.
jak trudno jest się tego nauczyć? – locoboy
@ cfarm54: Nie wiem jak zmierzyć, jak ciężko jest, ale możesz wypróbować niektóre próbki na MSDN (śledzić mój link) i przekonaj się sam. Jeśli nie potrzebujesz usługi internetowej, być może sugestia Marca Gravella, w której pliki źródłowe są udostępniane za pomocą linków, jest prostsza. –
Usługi RIA to zdecydowanie najlepszy sposób na udostępnienie kodu między ASP.Net a Silverlight.
Oprócz wspomnianej wcześniej generacji modeli usług domenowych, umożliwia również udostępnianie pojedynczych plików między aplikacją internetową a Silverlight po prostu wstawiając "shared" do nazw plików. na przykład "MyClass.shared.cs".
Usługi RIA nie zajmują dużo czasu, aby pogodzić się z (i istnieją dobre tutoriale na temat). Try this one.
- 1. Silverlight Hosted in Winforms
- 2. Haskell Odwoływanie się do zmiennej typu
- 3. Odwoływanie się do nowych kolumn wewnątrz transformacji
- 4. C# - Odwoływanie się do typu w dynamicznie generowanym złożeniu
- 5. Odwoływanie się do Fragmenty wewnątrz ViewPager
- 6. Właściwe odwoływanie się do siebie w dispatch_async
- 7. Odwoływanie się do zmiennych środowiskowych w web.xml
- 8. Odwoływanie się do definicji typu TypeScript
- 9. Odwoływanie się plikami zasobów z widoku maszynki
- 10. C# Project Global AssemblyInfo
- 11. Odwoływanie się do MySQL, aby uniknąć powtórzenia się?
- 12. Konwertuj bibliotekę C# do MSTest Project
- 13. C# class class project project injection inset bootstrap
- 14. Odwoływanie się do biblioteki DLL z GAC w Visual Studio
- 15. Odwoływanie się do "importowania" zestawów Pythona podczas wywoływania z IronPython w języku C#
- 16. Menu ASP.NET 4 chowa się za div zawierającym aplikację Silverlight
- 17. Odwoływanie się do innych pakietów w pakiecie BundleConfig.cs w aplikacji ASP.NET MVC4
- 18. Code First - Odwoływanie się jedna do wielu relacji
- 19. C# Project Management with Maven
- 20. Odwoływanie się do wyliczonych atrybutów stylu z XML w Androidzie
- 21. Odwoływanie się do właściwości bieżącego komponentu bean na wiosnę EL
- 22. Android - definiowanie kolorów poprzez odwoływanie się do innych zdefiniowanych kolorów
- 23. Odwoływanie się do łańcucha znaków w tablicy łańcuchowej z xml
- 24. Odwoływanie się do środowiska z teorematem według jego nazwy [nazwa]
- 25. Odwoływanie się do wprowadzania tekstu od wewnątrz jQuery autouzupełniania
- 26. odwoływanie się do obiektów java na posortowanej mapie według indeksu?
- 27. Odwoływanie się do tabeli "ręcznie" przy użyciu pakietu rezerwacyjnego
- 28. WPF: Odwoływanie się do zasobów aplikacji w całym kodzie
- 29. Odwoływanie się do całego dokumentu w Pipeline agregacji MongoDB
- 30. JQuery: Odwoływanie się do zakresu zewnętrznego w ramach wywołania zwrotnego
tak, to oznacza to prawie sprawniej budować identyczną klasę w projekcie silverlight, ponieważ nie ma pewności, że wszystko będzie skompilować? – locoboy
@ cfarm45: najmądrzejszy sposób, by przejść, to prawie zawsze ten, który ma najmniejszy kod. Jeśli twoja restrukturyzacja klasy domeny, więc nie zależy od asp.net, możesz ich ponownie użyć. Kopiowanie kodu jest zawsze plan B. –
@jdv ok zobaczę, co mogę zrobić – locoboy