Silverlight + RIA Service的SUID的实例

  1、准备工作  新建一个Silverlight Business
Application,
首先修改web.config,他自动生成的配置比较省略,我
手动加入membership,role,profile的配置,我是ASP.NET MVC的项目中拷贝过来,直接用他的配置也可以,
不过手动配置一下连接字符串LocalSqlServer,不然不能运行。 <membership>

<providers>

<clear />

<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/Vega" />

</providers>

</membership>

<profile>

<providers>

<clear />

<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />

</providers>

<properties>

<add name="FriendlyName" />

</properties>

</profile>

<roleManager enabled="true">

<providers>

<clear />

<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/Vega" />

<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />

</providers>

</roleManager>

  我用的连接字符串名字是ApplicationServices,如果没安装ASP.NET的SQL数据,可以用Visual Studio 命令提示(2010) (在开始菜单的Visual Studio Tools里)调出命令提示符输入aspnet_regsql,调出“ASP.NET SQL SERVER安装向导”,而在运行-cmd里因为没有相关环境变量,是调不出安装向导的。

  新建一个ADO.NET实体数据模型。

  编译一下,然后新建Domain Service Class,勾上Course,如果不编译,那么数据实体模型是找不到的。我们需要Microsoft Silverlight 4 Toolkit,http://silverlight.codeplex.com/,没安装的话要先安装。

  2、用户登录和角色  用户登录后
往往要根据
不用角色实现不同的功能导航,
所以要修改/Views/Login/LoginStatus.xaml 这个登录状态的用户控件。首先加上管理员的功能面板。 <StackPanel x:Name="adminControls" Style="{StaticResource LoginPanelStyle}">

<!-- welcomeText.Text property's binding is setup in code-behind -->

<TextBlock x:Name="welcomeAdminText" Style="{StaticResource WelcomeTextStyle}" VerticalAlignment="Center"/>

<!-- welcomeText.Text property's binding is setup in code-behind -->

<TextBlock Text=" | " Style="{StaticResource SpacerStyle}"/>

<HyperlinkButton TargetName="ContentFrame" Content="课程" VerticalAlignment="Center" Foreground="White" NavigateUri="/Courses"/>

<TextBlock Text=" | " Style="{StaticResource SpacerStyle}"/>

<HyperlinkButton TargetName="ContentFrame" Content="学员" VerticalAlignment="Center" Foreground="White" NavigateUri="/Students"/>

<TextBlock Text=" | " Style="{StaticResource SpacerStyle}"/>

<HyperlinkButton TargetName="ContentFrame" Content="排课" VerticalAlignment="Center" Foreground="White" NavigateUri="/Schedules"/>

<TextBlock Text=" | " Style="{StaticResource SpacerStyle}"/>

<Button x:Name="adminLogoutButton" Content="{Binding ApplicationStrings.LogOffButton, Source={StaticResource ResourceWrapper}}"

Click="LogoutButton_Click"

Style="{StaticResource LoginRegisterLinkStyle}"

IsEnabled="{Binding
Authentication.IsLoggingOut, Converter={StaticResource NotOperatorValueConverter}}" />

</StackPanel>

  然后增加一个状态,叫做adminLoggedIn,在<vsm:VisualStateGroup x:Name="loginStates">代码短里加上adminLoggedIn的代码:

<vsm:VisualState x:Name="adminLoggedIn">

<Storyboard>

<ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="logoutControls" Storyboard.TargetProperty="(UIElement.Visibility)">

<DiscreteObjectKeyFrame KeyTime="00:00:00.0000000">

<DiscreteObjectKeyFrame.Value>

<Visibility>Collapsed</Visibility>

</DiscreteObjectKeyFrame.Value>

</DiscreteObjectKeyFrame>

</ObjectAnimationUsingKeyFrames>

<ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="loginControls" Storyboard.TargetProperty="(UIElement.Visibility)">

<DiscreteObjectKeyFrame KeyTime="00:00:00.0000000">

<DiscreteObjectKeyFrame.Value>

<Visibility>Collapsed</Visibility>

</DiscreteObjectKeyFrame.Value>

</DiscreteObjectKeyFrame>

</

时间: 2024-12-29 10:23:28

Silverlight + RIA Service的SUID的实例的相关文章

一起谈.NET技术,Silverlight + RIA Service的SUID的实例

1.准备工作 新建一个Silverlight Business Application,首先修改web.config,他自动生成的配置比较省略,我手动加入membership,role,profile的配置,我是ASP.NET MVC的项目中拷贝过来,直接用他的配置也可以,不过手动配置一下连接字符串LocalSqlServer,不然不能运行. <membership><providers><clear /><add name="AspNetSqlMemb

Silverlight中服务通信方式的选择(WCF、Data Service、Ria Service)

转自 http://www.cnblogs.com/024hi/archive/2011/06/23/2088295.html WCF Service(WebService) Web Services是经实践考验证明的跨防火墙的通信方式,它很稳定且被广泛认可.总的来说你需要为分散的CRUD操作指定相应的接口并在Silverlight中忠实的调用他们 使用的原因:需要进行类似直接通过服务进行数据库交互操作的项目(弱化业务逻辑部分). 避免使用的原因:必须始终自己监视数据的变化并调用相应的服务方法进

silverlight 和wcf ria service 常见错误解决方法

1.向数据库教程添加数据时页面提示缺少对象,调试状态提示出错,无法更新entityset"*****",因为它有一个definingquery,而<modificationfunctionmapping>元素中没有支持当前操作的<insertfunction>元素" 解决办法:因为所操作的表没有添加主键,添加主键后刷新edm就可以了. 2.页面提示"iis已经设置了访问权限...",页面提示"note fond"

Silverlight DataGrid使用WCF RIA Service实现Load-on-demand的数据加载

在Windows或者ASP.NET Web应用程序中,我们经常可以看到在Grid控件上通过Load-on-demand的方式来提高系统性能,提升用户体验. 所谓Load-on-demand就是在最初表格数据加载时只加载当前表格中用户可以看到的行数,当用户向下滚动或拖拽纵向滚动条时,再将需要显示的数据通过某种方式动态加载进来. 那么对于Silverlight,我们可以使用DataGrid通过WCF RIA Service来实现这个功能. 1.      WCF RIA Service 我们将会使用

RIA Service 的 SOAP EndPoint

原文 www.cyqdata.com/cnblogs/article-detail-39983-english 越来越多的朋友都在使用Silverlight开发应用程序,其中我们常用的还会有一个特殊的服务,就是RIA Service,具体来说,它是一个所谓的Domain Service. 关于这个服务的基本概念,如果有不清楚,请参考下面这个网址 http://www.silverlight.net/getstarted/riaservices/   今天这一篇是要谈谈一个问题,就是如何让RIA

使用Fiddler解析WCF RIA Service传输的数据

原文 http://www.cnblogs.com/wintersun/archive/2011/01/05/1926386.html     使用Fiddler 2 解析WCF RIA Service传输的数据,您需要安装一个PlugIn.下载解压后,放在Inspectors文件中.重新启动Fiddler,你就会看到WCF Binary的选项.       下面的场景是,点一个Button根据ID查询数据,UI如下图:            Server端Code,ItemContext是Do

Android Service控件用法实例分析_Android

本文实例讲述了Android Service控件用法.分享给大家供大家参考,具体如下: 1.Service是一个应用程序的组件 2.Service没有图形化界面 3.用来处理耗时比较长的功能(下载.播放MP3) 4.更新ContentProvider.Intent以及系统的启动 Servcie不是一个单独的进程,不是一个线程 定义一个Service比较简单,只要继承Service类,实现其生命周期的方法即可.一个定义好的Service必须在AndroidManifest.xml文件中通过<ser

JAVA CDI 学习(5) - 如何向RESTFul Service中注入EJB实例

RESTFul Service中如果要注入EJB实例,常规的@Inject将不起作用,在Jboss中,应用甚至都启动不起来(因为@Inject注入失败),解决方法很简单:将@Inject换成@EJB 参考代码: CityInvoker是一个Stateless的EJB package test; import javax.ejb.Stateless; import ... @Stateless public class CityInvoker { public CityResponse getCi

Android Service控件用法实例分析

本文实例讲述了Android Service控件用法.分享给大家供大家参考,具体如下: 1.Service是一个应用程序的组件 2.Service没有图形化界面 3.用来处理耗时比较长的功能(下载.播放MP3) 4.更新ContentProvider.Intent以及系统的启动 Servcie不是一个单独的进程,不是一个线程 定义一个Service比较简单,只要继承Service类,实现其生命周期的方法即可.一个定义好的Service必须在AndroidManifest.xml文件中通过<ser