ссылка на asp.net c # классы / методы в проекте Silverlight - PullRequest
5 голосов
/ 25 августа 2010

Кто-нибудь знает, как это сделать?Я создал backend c # класс в asp.net, но хочу получить доступ к этим же классам, не воссоздавая их в silverlight.Это возможно?

Ответы [ 4 ]

4 голосов
/ 25 августа 2010

Вы можете повторно использовать файлы CS, добавив их в свой проект AS LINK.Щелкните правой кнопкой мыши в своем проекте и выберите «Добавить существующий ...». Перейдите к файлу, а в кнопке «Открыть» используйте выпадающую стрелку справа, чтобы выбрать «Добавить как ссылку».Вы увидите файл, добавленный в ваш проект, со значком, на котором наложен маленький значок ярлыка Windows.

Просто помните - ASP.Net работает во время выполнения .Net.Silverlight работает на CoreCLR (среда выполнения Silverlight.) Не все, что компилируется в одном, будет компилироваться в другом ...

Чтобы немного отделить вещи, могут помочь директивы #if, вы также можете использовать Partial Classes ичастичные методы (для добавления содержимого, которое выполняется только на сервере или на клиенте.)

2 голосов
/ 25 августа 2010

RIA Services - это определенно способ обмена кодом между ASP.Net и Silverlight.

Как и ранее упомянутое поколение моделей доменных служб, оно также позволяет вам обмениваться отдельными файлами между веб-приложением и Silverlight, просто вставляя «shared» в имена файлов. например "MyClass.shared.cs".

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

1 голос
/ 25 августа 2010

WCF RIA Services может помочь вам решить вашу проблему.Silverlight не использует ту же среду выполнения, что и ASP.Net, и вы не можете напрямую делиться сборками, содержащими классы моделей, на стороне клиента и на стороне сервера.Чтобы решить эту проблему, службы WCF RIA будут прозрачно генерировать классы на стороне клиента на основе классов моделей на стороне сервера.Очевидно, что службы WCF RIA также позволяют создавать, считывать, обновлять и удалять объекты этих классов с помощью веб-службы.

MSDN содержит более конкретную информацию о генерации кода клиента служб WCF RIA .

1 голос
/ 25 августа 2010

Ну, ASP.NET сам по себе не будет работать (многие из полных библиотек), но я предполагаю, что вы просто имеете в виду модель локального домена и т. Д.

IIRC вы можете попытаться просто сослаться на него, но вполне может сгенерировать предупреждающее сообщение.Конечно, вы должны быть исключительно осторожны, чтобы не использовать ничего, что не поддерживает другая платформа ...

IMO, лучший вариант здесь - создать второй csproj, который включает те же файлы .cs (иличит с подстановочным знаком / глубоким включением).И построить оба.Тот же C #, другая dll / платформа.

Нередко можно обнаружить, что вам нужно очень маленькое использование директив #if, тоже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...