john.net

博客园 首页 新随笔 联系 订阅 管理
  5 Posts :: 0 Stories :: 8 Comments :: 0 Trackbacks

公告

2009年5月20日 #

1.扩展方法必须在非泛型静态类中定义

2.扩展方法必须是静态的

3.不能在静态类中声明实例成员

public static class PubMethod
    {
        public static string GetIP(this Controller ctrl)
        {
            string ip;
            if (ctrl.HttpContext.Request.ServerVariables["HTTP_VIA"] != null)             {
                ip = ctrl.HttpContext.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();             }
            else            {
                ip = ctrl.HttpContext.Request.ServerVariables["REMOTE_ADDR"].ToString();             }
            return ip;

        }
    }

这样就可以在Action里面直接调用了 PubMethod.GetIP(this);

posted @ 2009-05-20 13:05 john.net 阅读(324) 评论(0) 编辑

异常如下:
System.Data.Services.Client.DataServiceRequestException: 处理此请求时出错。 ---> System.Data.Services.Client.DataServiceClientException:

silverlight DataService调用出错,这种情况一般都是权限不够

在DataService中

public static void InitializeService(IDataServiceConfiguration config)
        {
            // TODO: 设置规则以指明哪些实体集和服务操作是可见的、可更新的,等等。
            // 示例:
             config.SetEntitySetAccessRule("*", EntitySetRights.All);
            // config.SetServiceOperationAccessRule("MyServiceOperation", ServiceOperationRights.All);
        }

设置EntitySetRights.All就可以通过Silverlight对数据库表进行增删改了

posted @ 2009-05-20 12:56 john.net 阅读(269) 评论(0) 编辑