有人知道怎么做吗?我在asp.net中构建了一个后端c#类,但想要在不重新创建它们的情况下访问这些相同的类。这是可能的吗?
有人知道怎么做吗?我在asp.net中构建了一个后端c#类,但想要在不重新创建它们的情况下访问这些相同的类。这是可能的吗?
RIA服务绝对是在ASP.Net和Silverlight之间共享代码的最佳选择。除了之前提到的领域服务模型的生成外,它还允许您通过简单地在文件名中插入“shared”来共享Web应用程序和Silverlight之间的单个文件。例如,“MyClass.shared.cs”。
RIA服务不需要花费太长时间来了解(并且有很好的教程)。尝试这个。
嗯,ASP.NET 本身 不会工作(同样适用于许多完整的库),但我假设您只是想指本地领域模型等。
如果我没记错,您可以 尝试简单引用它,但可能会生成警告消息。当然,您需要格外小心,不要使用其他平台不支持的任何东西...
在我看来,这里更好的选项是创建一个包含相同 .cs 文件的第二个 csproj(或者通过通配符/深层包含进行欺骗)。并构建两个。相同的 C#,不同的 dll/platform。
还经常发现您需要使用 非常小 的 #if 指令。
WCF RIA Services 可以帮助您解决问题。Silverlight 不使用与 ASP.Net 相同的运行时,因此您无法直接在客户端和服务器端共享包含模型类的程序集。为了解决这个问题,WCF RIA 服务将基于服务器端的模型类,在客户端上透明地生成类。显然,WCF RIA 服务还允许您使用 Web 服务创建、读取、更新和删除这些类的对象。
MSDN 上有关于WCF RIA 服务客户端代码生成的更具体信息。