繁体   English   中英

在silverlight项目中引用asp.net c#classes / methods

[英]referencing asp.net c# classes/methods in silverlight project

有谁知道如何做到这一点? 我在asp.net中构建了一个后端c#类,但是想要访问这些相同的类而不用在silverlight中重新创建它们。 这有可能吗?

您可以通过将cs文件添加到项目AS LINK来重用它们。 右键单击项目并选择Add Existing ...浏览到您的文件,然后在打开按钮中,使用右侧的下拉箭头选择Add As Link。 您将看到添加到项目中的文件,其中包含一个图标,其上覆盖有小的Windows快捷方式图标。

请记住 - ASP.Net在.Net运行时运行。 Silverlight在CoreCLR(Silverlight运行时)上运行。并非在oone中编译的所有内容都将在另一个中编译...

要稍微分开一些东西,#if指令可以提供帮助,您也可以使用部分类和部分方法(添加仅在服务器或客户端上运行的内容。)

RIA Services绝对是在ASP.Net和Silverlight之间共享代码的方式。

除了前面提到的域服务模型之外,它还允许您通过简单地将“共享”插入文件名来在Web应用程序和Silverlight之间共享单个文件。 例如“MyClass.shared.cs”。

RIA服务花了很长时间才能达成协议(并且有很好的教程)。 试试这个吧

好吧,ASP.NET 本身不会起作用(同样很多完整的库),但我假设你只是指你本地域模型等。

IIRC你可以尝试简单地引用它,但它可能会产生一个警告信息。 当然,你需要格外小心,不要使用其他平台不支持的任何东西......

IMO,这里更好的选择是创建第二个包含相同.cs文件的csproj(或使用通配符/深包含作弊)。 并建立两者。 相同的C#,不同的dll /平台。

发现你需要非常少量使用#if指令并不罕见。

WCF RIA服务可以帮助您解决问题。 Silverlight不使用与ASP.Net相同的运行时,并且您无法直接在客户端和服务器端共享包含模型类的程序集。 要解决这个问题,WCF RIA Services将根据服务器端的模型类在客户端透明地生成类。 显然,WCF RIA Services还允许您使用Web服务创建,读取,更新和删除这些类的对象。

MSDN具有有关WCF RIA服务客户端代码生成的更多特定信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM