在Silverlight中获取当前Windows用户名
1个评论81次阅读2011.07.14 16:17 作者:Felicia 编辑
你可以设法通过这种方式:
1)创建asp.net Web服务应用程序。
2)实现一个Web服务,包含如下方法
[WebMethod]
public string GetClientUserName()
{
return System.Web.HttpContext.Current.User.Identity.Name.ToString();
}
3)部署此Web服务。 不允许匿名用户访问。
4)在Silverlight应用程序中引用这个服务。
5)现在,你可以调用这个方法,获得当前WIndows用户名。
解决 Silverlight 运行时 Invalid or malformed application: Check manifest
发表评论77次阅读2010.03.25 16:06 作者:Felicia 编辑
Silverlight程序中,App.xaml中片段如下(使用了资源文件):
<ResourceDictionary>
...
<res:StringLib x:Key="StringRes" />
</ResourceDictionary>
</Application.Resources>
在VS2008 SP1下编译通过,但是执行时报错:Invalid or malformed application: Check manifest
检查了manifest,并没有错误
仔细检查之后发现,VS生成的StringLib.Designer.cs中,StringLib类的构造函数是internal的,而App.xaml.cs中的App类并不和StringLib在同一命名空间中,所以调用构造函数的时候会出错。但是很诡异的是报了个Check manifest的错误,不知道是不是VS的bug。
internal StringLib() {
}
解决方法就是手动把该构造函数改成public的,如下:
public StringLib() {
}
这样再编译运行就不会有上面的错误了。
xaml namespace中的点
发表评论9次阅读2010.01.11 15:23 作者:Felicia 编辑
切记:silverlight的xaml中,定义xmlns,一定不能带点(就是英文的句号)
比如
这就不对了,编译不通过,而且VS给出的错误提示非常诡异,是Length cannot be less than zero.
估计是VS的代码没写好。
应该改成
这样就能编译通过
