再接再厉VS 2008 sp1 + .NET 3.5 sp1(7) - Data Services(数据服务)

四款安卓阅读App深度对比:书源、排版与本地书库管理 移动阅读里,书源并非简单资源包,而是把搜索、目录、正文映射为可执行抓取与解析的规则;排版引擎则负责清洗、分章与渲染。其原理多包含搜索、目录、正文三次请求,以及CSS、JSON或XPath选择器对页面结构的匹配。技术价值在于降低源失效影响、提升检索稳定性,并让本地TXT、EPUB、PDF与墨水屏阅读获得一致体验。实际场景覆盖追连载、精读本地书、旧设备书库整理和深度查词笔记。围绕Legado、静读天下、Librera、KOReader四款安卓阅读App,拆解书源体系、本地书库、排版参数与异常排查,让阅读链路更清 阅读详情
[索引页]
[源码下载]


再接再厉VS 2008 sp1 + .NET 3.5 sp1(7) - Data Services(数据服务)


作者: webabcd


介绍
以Northwind为示例数据库,演示ADO.NET Data Services(数据服务)
  • DataService - ADO.NET 数据服务的主入口点。 T 为数据源类名
  • IDataServiceConfiguration.SetEntitySetAccessRule(string name, EntitySetRights rights) - 为指定实体集设置访问规则
  • QueryInterceptorAttribute - 声明在方法上的查询拦截器
  • DataServiceContext - 数据服务的上下文
  • DataServiceQuery - 以指定的 URI 语法查询数据服务


示例
服务端
Service.cs
using  System;
using  System.Data.Services;
using  System.Collections.Generic;
using  System.Linq;
using  System.ServiceModel.Web;

using  VS2008SP1.Business;
using  System.Linq.Expressions;

//  DataService<T> - ADO.NET 数据服务的主入口点。 T 为数据源类名
public   class  Service : DataService < VS2008SP1.Business.NorthwindEntities >
{
    
// 初始化涉及服务范围的策略(仅调用一次)
    public static void InitializeService(IDataServiceConfiguration config)
    
{
        
/*
         * IDataServiceConfiguration.SetEntitySetAccessRule(string name, EntitySetRights rights) - 为指定实体集设置访问规则
         *     name - 实体集名称(* 为全部)
         *     rights - 设置对指定实体集的操作权限 [System.Data.Services.EntitySetRights 枚举]
         * EntitySetRights.None - 权限为:无任何权限  
         * EntitySetRights.All - 权限为:全部权限  
         * EntitySetRights.ReadSingle - 权限为:只能读取数据集内的某一条数据
         * EntitySetRights.ReadMultiple - 权限为:可读取数据集内的全部数据
         * EntitySetRights.WriteAppend - 权限为:插入  
         * EntitySetRights.WriteReplace - 权限为:更新  
         * EntitySetRights.WriteDelete - 权限为:删除
         * EntitySetRights.WriteMerge - 权限为:合并数据  
         * EntitySetRights.AllRead - 权限为:全部可读  
         * EntitySetRights.AllWrite - 权限为:全部可写  
         
*/

        config.SetEntitySetAccessRule(
"*", EntitySetRights.All);
        
        
// config.SetEntitySetAccessRule("*", EntitySetRights.AllRead | EntitySetRights.AllWrite);
    }


    
/*
     *  QueryInterceptorAttribute - 声明在方法上的查询拦截器
     *      方法名任意(不带参数),返回值必须为一个 Expression<Func<T, bool>> 表达式,T 为需要过滤的实体集类名
     
*/

    [QueryInterceptor(
"Orders")]
    
public Expression<Func<Orders, bool>> FilterOrders()
    
{
        
// 本例为无论在任何情况下,返回的 Orders 都是 ContactName 为 Paul Henriot 的 Orders
        return o => o.Customers.ContactName == "Paul Henriot";
    }

}


1、添加、查询、更新和删除的Demo
Demo.aspx
<% @ Page Title="添加、查询、更新和删除的Demo" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeFile
="Demo.aspx.cs" Inherits="DataServices_Demo" 
%>

< asp:Content  ID ="Content1"  ContentPlaceHolderID ="head"  runat ="Server" >
</ asp:Content >
< asp:Content  ID ="Content2"  ContentPlaceHolderID ="ContentPlaceHolder1"  runat ="Server" >
    
< div  style ="margin: 10px;" >
        CategoryName:
< asp:TextBox  ID ="txtCategoryName"  runat ="server"   />
        Description:
< asp:TextBox  ID ="txtDescription"  runat ="server"   />
        
< asp:Button  ID ="btnAddCategory"  runat ="server"  Text ="添加产品类别"  OnClick ="btnAddCategory_Click"   />
    
</ div >
    
< div  style ="margin: 10px;" >
        
< asp:GridView  ID ="GridView1"  DataKeyNames ="CategoryID"  runat ="server"  AutoGenerateColumns ="false"
            OnRowDeleting
="GridView1_RowDeleting"  OnRowCancelingEdit ="GridView1_RowCancelingEdit"
            OnRowEditing
="GridView1_RowEditing"  OnRowUpdating ="GridView1_RowUpdating"  OnSelectedIndexChanged ="GridView1_SelectedIndexChanged" >
            
< Columns >
                
< asp:BoundField  DataField ="CategoryID"  HeaderText ="ID"  ReadOnly ="true"   />
                
< asp:BoundField  DataField ="CategoryName"  HeaderText ="CategoryName"   />
                
< asp:BoundField  DataField ="Description"  HeaderText ="Description"   />
                
< asp:CommandField  ShowSelectButton ="True"  ShowEditButton ="True"  ShowDeleteButton ="True" >
                
</ asp:CommandField >
            
</ Columns >
        
</ asp:GridView >
    
</ div >
    
< div  style ="margin: 10px;" >
        
< asp:GridView  ID ="GridView2"  runat ="server" >
        
</ asp:GridView >
    
</ div >
</ asp:Content >

Demo.aspx.cs
//  客户端用到的只有以下两个类
//  System.Data.Services.Client.DataServiceContext - 数据服务的上下文
//  System.Data.Services.Client.DataServiceQuery - 以指定的 URI 语法查询数据服务

using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Web;
using  System.Web.UI;
using  System.Web.UI.WebControls;

using  MyDataService;

public   partial   class  DataServices_Demo : System.Web.UI.Page
{
    
// ADO.NET 数据服务的地址
    Uri _uri = new Uri("http://localhost:7002/DataServices/Service.svc/", UriKind.Absolute);

    
protected void Page_Load(object sender, EventArgs e)
    
{
        
if (!Page.IsPostBack)
        
{
            BindData();
        }

    }


    
void BindData()
    
{
        
// NorthwindEntities - 继承自 DataServiceContext ,其构造函数的参数为数据服务的 URI 地址
        NorthwindEntities ctx = new NorthwindEntities(_uri);

        
// 将 System.Data.Services.Client.DataServiceQuery<Categories> 绑定到 Gridview1
        GridView1.DataSource = ctx.Categories;
        GridView1.DataBind();
    }


    
protected void btnAddCategory_Click(object sender, EventArgs e)
    
{
        NorthwindEntities ctx 
= new NorthwindEntities(_uri);

        Categories category 
= new Categories();
        category.CategoryName 
= txtCategoryName.Text;
        category.Description 
= txtDescription.Text;

        
// DataServiceContext.Timeout - 超时时间
        
// DataServiceContext.MergeOption - 当前数据上下文与数据服务的数据的同步选项 [System.Data.Services.Client.MergeOption 枚举]
        
//     AppendOnly - 追加。默认值
        
//     OverwriteChanges - 以新结果为准
        
//     PreserveChanges - 以原结果为准
        
//     NoTracking - 取消变更跟踪,不会使用 ObjectStateManager,减少执行查询的时间,所有返回的实体将是分离的状态(detached state)
        ctx.MergeOption = System.Data.Services.Client.MergeOption.AppendOnly;

        ctx.AddToCategories(category);

        
for (int i = 0; i < 10; i++)
        
{
            var product 
= new Products() { ProductName = "测试用" + i.ToString() };
            product.Categories 
= category;

            ctx.AddToProducts(product);

            
// DataServiceContext.SetLink(Object source, string sourceProperty, Object target) - 在指定对象上创建新的连接,Added状态,SaveChanges() 的时候会一起发送到数据服务。多对一关系
            
//     source - 源对象
            
//     sourceProperty - 源对象上的属性,用于标识目标对象的类型
            
//     target - 目标对象
            ctx.SetLink(product, "Categories", category);
            
// DataServiceContext.AddLink(Object source, string sourceProperty, Object target) - 在指定对象上创建新的连接,Added状态,SaveChanges() 的时候会一起发送到数据服务。一对多关系
            
// DataServiceContext.DeleteLink(Object source, string sourceProperty, Object target) - 在指定的对象上删除连接,Deleted状态,SaveChanges() 的时候会一起发送到数据服务
        }


        
// DataServiceContext.SaveChanges() - 将所有更新保存到相关存储区中
        
//     SaveChangesOptions.Batch - 一个 http 提交所有操作
        
//     SaveChangesOptions.ContinueOnError - 一个 http 一个操作,某操作出错仍将处理后续操作(不能与 Batch 共存)
        
//     SaveChangesOptions.ReplaceOnUpdate - 
        
//     SaveChangesOptions.None - 出错则停止
        ctx.SaveChanges(System.Data.Services.Client.SaveChangesOptions.Batch);

        Page.ClientScript.RegisterStartupScript(
this.GetType(), "js", "alert('CategoryID: " + category.CategoryID + "');", true);

        GridView1.EditIndex 
= -1;
        BindData();
    }


    
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    
{
        NorthwindEntities ctx 
= new NorthwindEntities(_uri);

        var categoryId 
= (int)GridView1.DataKeys[e.RowIndex].Value;

        var category 
= ctx.Categories.Where(p => p.CategoryID == categoryId).First();

        
// DataServiceContext.LoadProperty(Object entity, string propertyName) - 加载指定对象的指定实体属性
        
//     entity - 包含要加载的实体属性的实体
        
//     propertyName - 需要加载的实体属性的名称
        ctx.LoadProperty(category, "Products");
        
foreach (var product in category.Products)
        
{
            ctx.DeleteObject(product);
        }


        ctx.DeleteObject(category);

        ctx.SaveChanges();

        GridView1.EditIndex 
= -1;
        BindData();
    }


    
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    
{
        NorthwindEntities ctx 
= new NorthwindEntities(_uri);

        var categoryId 
= (int)GridView1.SelectedDataKey.Value;

        
// 查找当前选中的类别下的产品集合
        var products = ctx.Products.Where(p => p.Categories.CategoryID == categoryId);

        
// 将 System.Linq.IQueryable<Products> 绑定到 GridView2
        GridView2.DataSource = products;
        GridView2.DataBind();
    }


    
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    
{
        NorthwindEntities ctx 
= new NorthwindEntities(_uri);

        var categoryId 
= (int)GridView1.DataKeys[e.RowIndex].Value;

        var category 
= ctx.Categories.Where(p => p.CategoryID == categoryId).First();

        category.CategoryName 
= ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text;
        category.Description 
= ((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text;

        ctx.UpdateObject(category);
        ctx.SaveChanges();

        GridView1.EditIndex 
= -1;
        BindData();
    }


    
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    
{
        GridView1.EditIndex 
= e.NewEditIndex;
        BindData();
    }


    
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    
{
        GridView1.EditIndex 
= -1;
        BindData();
    }

}



2、其他知识点
Demo2.aspx
<% @ Page Title="其它" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeFile
="Demo2.aspx.cs" Inherits="DataServices_Demo2" 
%>

< asp:Content  ID ="Content1"  ContentPlaceHolderID ="head"  runat ="Server" >
</ asp:Content >
< asp:Content  ID ="Content2"  ContentPlaceHolderID ="ContentPlaceHolder1"  runat ="Server" >
    
< div  id ="result"  runat ="server" >
    
</ div >
</ asp:Content >

Demo2.aspx.cs
using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Web;
using  System.Web.UI;
using  System.Web.UI.WebControls;

using  MyDataService;
using  System.Data.Services.Client;

public   partial   class  DataServices_Demo2 : System.Web.UI.Page
{
    
// ADO.NET 数据服务的地址
    Uri _uri = new Uri("http://localhost:7002/DataServices/Service.svc/", UriKind.Absolute);

    
protected void Page_Load(object sender, EventArgs e)
    
{
        
// 以 URI 语法的方式查询 ADO.NET 数据服务
        Demo();

        
// 异步方式查询 ADO.NET 数据服务
        Demo2();

        
// 演示查询拦截器的 Demo
        Demo3();

        
// 演示以 JSON 作为响应格式的 Demo
        Demo4();
    }


    
void Demo()
    
{
        DataServiceContext ctx 
= new DataServiceContext(_uri);

        
// 以 URI 语法的方式查询 ADO.NET 数据服务,详细语法参看 MSDN
        
// http://[Url]/[ServiceName]/[EntityName]/[NavigationOptions]?[QueryOptions]
        DataServiceQuery<Categories> categories = ctx.CreateQuery<Categories>("/Categories");

        
foreach (var c in categories)
        
{
            result.InnerHtml 
+= c.CategoryID + ",";
        }


        result.InnerHtml 
+= "<br /><br />";
    }


    
void Demo2()
    
{
        DataServiceContext ctx 
= new DataServiceContext(_uri);

        DataServiceQuery
<Categories> query = ctx.CreateQuery<Categories>("/Categories");

        
// 异步方式查询 ADO.NET 数据服务
        query.BeginExecute(
            
delegate(IAsyncResult ar)
            
{
                
foreach (var c in query.EndExecute(ar))
                
{
                    result.InnerHtml 
+= c.CategoryID + ",";
                }


                result.InnerHtml 
+= "<br /><br />";
            }
,
            
null);
    }


    
void Demo3()
    
{
        NorthwindEntities ctx 
= new NorthwindEntities(_uri);

        
// 因为设置了查询拦截器,所以只能收到 ContactName 为 Paul Henriot 的 Orders
        foreach (var o in ctx.Orders)
        
{
            result.InnerHtml 
+= o.OrderID + ",";
        }


        result.InnerHtml 
+= "<br /><br />";
    }


    
void Demo4()
    
{
        System.Net.WebClient client 
= new System.Net.WebClient();
        
// 需要以 json 格式返回结果的话,需要设置以下 header
        client.Headers.Add("accept", "application/json");
        
// client.Headers.Add("accept", "application/xml"); xml/atom 格式
        
// client.Headers.Add("accept", "*/*"); xml/atom 格式,默认值
        result.InnerHtml += HttpUtility.HtmlEncode(client.DownloadString(_uri));
    }

}



OK
[源码下载]
Windows 7系统MySQL安装全攻略:版本选择、实战配置与故障排除 数据库作为现代应用的核心数据存储与管理组件,其部署与配置是开发与运维的基础技能。MySQL作为最流行的开源关系型数据库之一,以其高性能、高可靠性和易用性被广泛应用于各类场景。理解其在不同操作系统环境下的部署原理,尤其是处理老旧系统或特定环境下的兼容性问题,对于保障业务连续性和学习迁移至关重要。本文将聚焦于在仍有一定存量的Windows 7操作系统上部署MySQL的完整流程,深入分析MySQL 5.5、5.7、8.0等主流版本与32位/64位系统的兼容性矩阵,并提供从MSI与ZIP安装包选择、Visual C 阅读详情

相关推荐

ViewState与HttpModule原理:从ASP.NET底层机制到.NET 8实战迁移

ViewState和HttpModule是ASP.NET经典时代的核心机制,分别代表客户端状态管理与HTTP请求管道干预两大基础能力。其底层原理涉及序列化懒加载、IIS工作进程钩子、线程安全上下文等关键概念,技术价值在于帮助开发者穿透框架封装,实现可调试、可预测的服务端行为控制。典型应用场景包括表单防重放、跨域审计日志、智能路由限流等横切关注点治理。在.NET 8中,这些思想并未消失,而是演进为Minimal API的状态编码、Middleware中间件和RouteConstraint约束——本文即以现代实

dejz8829的专栏 503

Vista SP1、IIS7,安装ASP.Net 1.1、VS2003、NetAdvantage 2004vol、Sql Server2000全攻略

对于微软的软件,一向认为是:beta版惨不忍睹,rtm版马马虎虎,sp1版。所以,现在Vista SP1出来了,我也考虑更换操作系统了。经过一番google,唯一的问题应该就在于ASP.Net 1.1在Vista上的运行调试了,网上也没有详尽的能够正确操作的文章,都是零散的。于是,自我奉献一把,在虚拟机上先折腾了一下Vista,把详细流程记录下来,以备大家参考。 ...

YYH1992的博客 314

Windows Mobile 6.5.3嵌入式开发实战:工业系统逆向与驱动定制指南

Windows Mobile虽已退出消费市场,但其内核架构仍是理解现代移动操作系统底层原理的重要范本。它基于Windows CE微内核,采用对象存储、ROM/RAM双区启动和DDI驱动抽象等核心机制,深刻影响了Android Binder、车机OTA及驱动即服务等关键技术演进。作为仍活跃于全球数千个工业现场的存量系统,WM 6.5.3具备可写ROM、设备模拟层(DEL)和CAB签名强制校验等面向嵌入式场景的工程化设计,是学习操作系统如何接管裸机、构建安全可靠固件分发链路的理想教学载体。本文聚焦工业级实操,覆

ciyinzhi8788的博客 574

再接再厉VS 2008 sp1 + .NET 3.5 sp1系列文章索引

[源码下载]再接再厉VS 2008 sp1 + .NET 3.5 sp1系列文章索引作者:webabcd介绍再接再厉VS 2008 sp1 + .NET 3.5 sp1系列文章索引:ADO.NET Entity Framework(实体框架), ADO.NET Data Services(数据服务), Dynamic Data(动态数据) 1、再

webabcd的专栏 948

TFS 2010服务层重构:SQL Server兼容性与权限模型升级解析

Team Foundation Server(TFS)作为微软早期企业级ALM平台,其服务层架构演进深刻影响着团队协作基础设施的稳定性与可扩展性。从技术本质看,TFS服务层是封装版本控制、工作项跟踪、构建管理等能力的核心中间件,依赖于数据库访问抽象、权限治理模型和跨系统集成机制。TFS 2010的关键突破在于将数据访问解耦为运行时动态加载的SQL Server提供者,并引入三级权限体系与资源级授权模型,显著提升SQL Server 2008/R2兼容性与细粒度管控能力。这些改进不仅解决了TFS 2008时代

369

Windows 7下IIS7+ASP环境搭建与排错实战指南

Web服务器是承载动态网页服务的基础运行时环境,其核心能力包括请求处理、脚本解析、权限控制与协议支持。IIS7作为Windows原生集成的模块化Web服务器,采用ISAPI扩展机制实现ASP(Active Server Pages)脚本解析,依赖COM组件与NTFS权限模型构建安全执行边界。该技术栈虽属经典,但在政府内网、工业控制系统及等保测评等离线或强兼容场景中仍具不可替代性。理解IIS7的配置逻辑,有助于掌握现代Web服务的权限分层(物理路径/NTFS/IIS元数据库)、脚本映射机制及UAC虚拟化影响等

SailingAptech的专栏 445

ADO.Net Data Services Framework初識

微軟3.5 SP1推出了新的數據訪問FrameWork,叫ADO.Net Data Services Framework 概念: 微软在 .NET 3.5 SP1 平台上,推了一组新的数据访问 Framework,叫做 ADO.NET Data Services。微软怕程序员太闲吗?为什么要创造 ADO.NET Data Services?Web Service 和 WCF 不就...

a516831114的博客 245

.NET开发者的精神手记:从人本视角重构技术判断力

.NET作为跨平台开源生态,已超越单纯编程语言或框架范畴,演变为融合系统设计、工程治理与协作伦理的综合技术体系。其核心原理在于运行时(CLR)、语言(C#)与应用模型(ASP.NET Core/MAUI)的深度协同,技术价值体现在可验证性、长期可维护性与分布式韧性上。典型应用场景覆盖金融级订单系统、云原生微服务及AI增强开发流程。在LLM生成代码普及与K8s成为基础设施的今天,开发者亟需建立超越语法熟练度的系统性思维——这正是‘老赵点滴’以问题域驱动、实证优先、人文厚度为锚点所持续践行的技术范式。

diedangxiang4092的博客 429

学习使用ADO.NET Data Services (ADO.NET 数据服务框架) - Part 1

学习使用ADO.NET Data Services (ADO.NET 数据服务框架) ADO.NET Data Services Framework是在.NET Framework 3.5 SP1新推出的扩充功能,这个功能和概念在以前的.NET 1.0-.NET3.5 技术中都没有出现的新概念,它主要用途是可以很容易的将数据库服务公开在网络上,然后透过URL网址就可以对数据库进行CR...

weixin_30311605的博客 113

TNS-12516及ORA-12516错误解决

在客户端进行sqlplus连接报错如下: ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程序 在/home/oracle/product/10.2.0/db_1/network/log/listener.log中查看到错误如下: TNS-12516: TNS:listener could not find available handler with matchin

KEL 2万+

演化计算(蚁群算法、粒子群算法、遗传算法、演化规则......)

演化算法1.概念2.解决的问题 1.概念 传统算法(如梯度下降法、爬山法)根据导数的性质决定迭代的方向;而演化计算是一组解在一起协同作用产生一个最优解。 2.解决的问题 预测优化:演化计算(蚁群算法、粒子群算法、遗传算法等) 解的聚散、多样性:通过多次聚散,尽快得出最优解(某个解不合要求,要能够发散出去) ...

dear_jing的博客 4162

为什么微软要推 ADO.NET Data Services Framework 转自 博客园 WizardWu

微软在 .NET 3.5 SP1 平台上,推了一组新的数据访问 Framework,叫做 ADO.NET DataServices。微软怕程序员太闲吗?为什么要创造 ADO.NET Data Services?Web Service 和 WCF不就很好用了吗?本帖整理一些研讨会及网络上大内高手的观点,并提供一个可在 VS 2008 SP1 上执行的示例给大家下载参考;但本帖不提供s

满地鸡毛 776

保姆级教程:手把手教你下载和配置Waymo自动驾驶数据集(附百度网盘链接)

本文提供了一份详细的Waymo自动驾驶数据集下载和配置指南,特别针对国内研究者优化了数据获取方案,包括百度网盘链接和Google Cloud CLI配置。文章还涵盖了环境配置、数据处理实战、可视化分析以及进阶技巧,帮助开发者高效利用这一业界黄金标准数据集进行自动驾驶研究。

weixin_42651281的博客 360

艾伟:为什么微软要推 ADO.NET Data Services Framework

  微软在 .NET 3.5 SP1 平台上,推了一组新的数据访问 Framework,叫做 ADO.NET Data Services。微软怕程序员太闲吗?为什么要创造 ADO.NET Data Services?Web Service 和 WCF 不就很好用了吗?本帖整理一些研讨会及网络上大内高手的观点,并提供一个可在 VS 2008 SP1 上执行的示例给大家下载参考;但本帖不提供 ste...

weixin_33921089的博客 118

Saturn PCB Toolkit V8.02 实战:5分钟完成10A电源路径的走线与过孔通流验证

本文详细介绍了如何使用Saturn PCB Toolkit V8.02快速验证10A电源路径的走线与过孔通流能力。通过实战案例和参数配置指南,帮助工程师解决大电流PCB设计中的温升失控、过孔瓶颈等核心挑战,提升设计效率和可靠性。

weixin_34194829的博客 447

【OAG vs RAG】RAG的“语义崩溃“:为什么你的知识库越大,AI越笨?_语义检索oag-优快云博客

19.9 元(AI 编程 / Agent 实战 | 本文同主题系统课程)·49.9 元(AI 时代成长方法论)。单篇不过瘾?订阅解锁全量源码、实战与答疑;文末附资料包领取方式 ↓图1:RAG语义崩溃概念图。

求知若渴、虚心若愚 70

在SharePoint 2010 中使用REST时提示:未能加载类型System.Data.Services.Providers.IDataServiceUpdateProvider的解决办法...

在SharePoint2010中使用listdata.svc访问列表时,出现下列错误: 经过查找资料发现原因是由System.Data.Services.dll文件的版本不正确造成的。 下载下面的补丁进行Update后,问题解决。 Download the ADO.NET Data Services Update for .NET Framework 3.5 SP1...

weixin_30646315的博客 125

isaaclab无法识别NVIDIA显卡,如何解决?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!    📌 特别说明: 文中部分技术问题来源于真实生产环境及网络公开案例,均经过精挑细选与系统化整理,并结合多位一线资深架构师和工程师多年实战经验沉淀,提

**My Coding Family** 1144

为什么微软要推 ADO.NET Data Services

微软在 .NET 3.5 SP1 平台上,推了一组新的数据访问 Framework,叫做 ADO.NET Data Services。微软怕程序员太闲吗?为什么要创造 ADO.NET Data Services?Web Service 和 WCF 不就很好用了吗?本帖整理一些研讨会及网络上大内高手的观点,并提供一个可在 VS 2008 SP1 上执行的示例给大家下载参考;但本帖不提供 st...

weixin_34166472的博客 156

AI Agent Harness与SCADA系统集成

简单来说,AI Agent Harness是Industrial AI Agent的“中央调度室+装备库+知识库+安全网”把不同技术栈、不同部署环境(云/边/端)、不同功能(感知、推理、决策、执行、验证)的“零散Agent”组装成具备特定工业场景能力的Agent Team(如聚合反应根因诊断Agent Team);管理Agent Team的生命周期(创建、初始化、调度、监控、销毁);提供统一的工业多工具调用接口(对接SCADA、MES、PLC、DCS、巡检机器人、数字孪生平台等);内置。

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 355

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

WCF RIA 服务 (三)- 创建一个RIA Services Solution

在本节,我们将进行一个演练。我们创建一个WCF RIA Services 应用,此应用从AdventureWorksLT 数据库中检索数据。我们会用SL来创建表现层的客户端,并创建表现不同数据库表的实体类。 此节需要: Visual Studio 2008Silverlight 3WCF RIA Services Beta for visual Studio 2008 SP1 -or- ...

weixin_30881367的博客 73

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

ASP.NET MVC 1.0企业级架构演进实战:解耦、契约与渐进迁移

MVC是一种将用户界面、业务逻辑与数据呈现分离的软件设计模式,其核心原理在于通过明确的职责划分实现关注点隔离。在企业级开发中,该模式显著提升代码可测试性、前后端协作效率及系统可维护性,尤其适用于遗留系统现代化改造场景。它支持渐进式迁移、强类型契约定义和依赖倒置实践,广泛应用于WebForms升级、微服务API层构建及跨技术栈协同开发。本文基于ASP.NET MVC 1.0真实生产环境,深入解析路由机制、Controller生命周期、Model Binding原理及ViewEngine实现细节,聚焦企业级落地

diaoqi6581的博客 429

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: 游戏人生Silverlight(2) - 趣味钢琴[Silverlight 2.0(c#)]
下一篇: 再接再厉VS 2008 sp1 + .NET 3.5 sp1(8) - Dynamic Data(动态数据)
webabcd
博客等级 码龄17年 28粉丝 911原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值