标签: wcf-data-services

ASP.Net MVC以Web服务为模型?

有没有人有关于在ASP.Net MVC应用程序中使用Web服务作为模型的建议或提示?我没有看到有人写这样做.我想构建一个MVC应用程序,但不是将它绑定到使用特定数据库,也不是将数据库限制为单个MVC应用程序.我觉得一个Web服务(RESTful,很可能是ADO.Net数据服务)是要走的路.

rest asp.net-mvc wcf-data-services

8
推荐指数
2
解决办法
5385
查看次数

.NET RIA服务中的多对多关系

我在对象A到B的数据库中有多对多的关系.当我创建域服务时,元数据看起来很好.A有Bs的集合,B有As的集合.所以这是正确的.但是生成的*.g.cs文件没有相同的关系.

有没有办法让它发挥作用?我用Google搜索了一些实际为关联表生成对象的答案,但我很好奇我是否可以避免这种情况.

谢谢

silverlight wcf-data-services

8
推荐指数
1
解决办法
2827
查看次数

Visual Studio 2010中的ODATA模板

我在Visual Studio 2010中没有看到OData(或WCF数据服务或ADO.NET服务)模板.我是否遗漏了某些内容

visual-studio-2010 visual-studio wcf-data-services odata

8
推荐指数
1
解决办法
4281
查看次数

什么时候使用WCF数据服务?

对于哪些应用程序或开发方案,WCF数据服务的使用是有意义的,何时其他技术是更好的选择(例如WCF RIA服务,ADO实体框架,经典ADO.NET,简单服务或其他)?

.net wcf-data-services wcf-ria-services

8
推荐指数
1
解决办法
3757
查看次数

WCF数据服务和自我跟踪实体

我已经看到一些引用声明WCF数据服务自动处理更改跟踪.这是否意味着您不需要创建自我跟踪实体(STE)并且它可以自动与任何实体对象类型一起使用?对不起,这里有点困惑,并一直在努力找到一个资源,为我清除这一点.

谢谢

.net entity-framework wcf-data-services

8
推荐指数
1
解决办法
1388
查看次数

ADO.NET数据服务 - 格式参数 - xml/json

是否已使用ADO.NET数据服务的VS2008 SP1版本删除了$ format参数.我尝试使用它,我得到错误:

查询参数'$ format'以系统保留的'$'字符开头,但无法识别.

我认为对Atom东西的支持非常酷,但你能得到"普通的旧xml"吗?

.net json wcf-data-services

7
推荐指数
1
解决办法
5539
查看次数

如何禁用WCF数据服务的身份验证方案

当我将WCF数据服务部署到生产主机时,我开始收到以下错误(或类似,具体取决于哪些身份验证方案处于活动状态):

IIS指定了身份验证方案"Basic,Anonymous",但绑定仅支持一种身份验证方案的规范.有效的身份验证方案是Digest,Negotiate,NTLM,Basic或Anonymous.更改IIS设置,以便仅使用单个身份验证方案.

显然,WCF数据服务(通常是WCF?)无法处理多次激活的身份验证方案.

好的,所以我知道我可以通过IIS控制面板在Web应用程序上禁用所有但一个身份验证方案....通过支持请求!!

有没有办法在web.config中的每个服务级别指定一个身份验证方案?

我认为这可能会像改变那样直接<system.serviceModel>但是......事实证明,WCF数据服务不会在Web配置中自行配置.如果你看一下DataService<>它没有实现的类,[ServiceContract]你就不能在<service><endpoint>...中引用它...我认为通过XML更改其配置需要它.

PS我们的主机使用的是II6,但IIS6和IIS7的两种解决方案都很受欢迎.

wcf wcf-data-services

7
推荐指数
1
解决办法
6915
查看次数

WCF数据服务:尽管服务设置为v3,但MaxProtocolVersion设置为v2.结束OfType()的投掷错误

我遇到了一个问题,当我尝试使用OfType()方法对我的odata服务进行linq查询时,我收到一条错误消息,指出该请求对于版本2服务无效.我创建了WCF数据服务并将MaxProtocolVersion设置为v3.

public class TestDirectorySearch : DataService<TestDirectoryEntities>
{
    public static void InitializeService(DataServiceConfiguration config)
    {
        config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
        config.SetEntitySetPageSize("*", 50);

        config.UseVerboseErrors = true;
        config.DataServiceBehavior.MaxProtocolVersion = System.Data.Services.Common.DataServiceProtocolVersion.V3;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的edmx有以下几行:

<edmx:DataServices m:DataServiceVersion="1.0" 
    m:MaxDataServiceVersion="3.0" 
    xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
Run Code Online (Sandbox Code Playgroud)

当我尝试执行以下查询时,我收到一条错误消息,指出当MaxProtocolVersion小于'3.0'时,不支持"方法'OfType'."

from test in context.Tests.OfType<OrderableTest>()
    where test.TestRevisionId.Equals(mmt.RevisionId)
    select new
    {
            Reflex = test.ReflexTest
            , ShipTemp = (test.SpecimenTemperature == null) ? null : test.SpecimenTemperature.DisplayDescription
    }).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

如果我检查上下文的MaxProtocolVersion,则将其设置为v2.这在什么时候失败了?我该怎么做才能正确设置?

确切的错误:

{"当MaxProtocolVersion小于'3.0'时,不支持'OfType'方法."}

请求的堆栈跟踪:

at System.Data.Services.Client.ResourceBinder.AnalyzeOfType(MethodCallExpression mce, DataServiceProtocolVersion maxProtocolVersion)
at System.Data.Services.Client.ResourceBinder.VisitMethodCall(MethodCallExpression mce)
at System.Data.Services.Client.ALinqExpressionVisitor.Visit(Expression exp)
at System.Data.Services.Client.DataServiceALinqExpressionVisitor.Visit(Expression exp)
at System.Data.Services.Client.ALinqExpressionVisitor.VisitExpressionList(ReadOnlyCollection`1 original)
at System.Data.Services.Client.ALinqExpressionVisitor.VisitMethodCall(MethodCallExpression m)
at System.Data.Services.Client.ResourceBinder.VisitMethodCall(MethodCallExpression …
Run Code Online (Sandbox Code Playgroud)

c# wcf-data-services

7
推荐指数
1
解决办法
4493
查看次数

如何在一个请求中更新OData实体并修改其导航属性?

我正在尝试使用WCF数据服务提供的OData服务来实现我认为的简单场景(使用OData V3应用程序/ json; odata =详细的有效载荷格式,现在.我将来可能会使用JSON Light格式) .基本情况如下:

我有两个实体:

class Person 
{ 
  public int ID { get; set; }
  public string Name { get; set; } 
  public virtual PersonCategory Category { get; set; }
}

class PersonCategory
{
  public int ID { get; set; }
  public string Description { get; set; }
  public virtual ICollection<Person> People { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在,我想为Person创建一个简单的编辑页面.此编辑页面可能具有Name的输入,以及Person类别的输入或下拉列表.

所以,场景如下:

  1. 代码使用$ expand下载人员类别:GET /api.svc/People(1)?$expand=Category
  2. 用户编辑人员的姓名属性及其类别.
  3. 页面代码只发出一个请求来更新Person的Name和Category属性.

这里的关键是"单一请求".这是我找不到文档的部分.我见过他们将上面的数字3分成两个请求的例子.这样的事情(我不记得确切的格式 - 我也不确定你在做PUT之前是否必须删除Category链接):

PATCH /api.svc/People(1) with content: {"Name": "new name" }
PUT /api.svc/People(1)/$links/Category …
Run Code Online (Sandbox Code Playgroud)

json wcf-data-services odata

7
推荐指数
2
解决办法
7739
查看次数

必须使用适当的属性或方法修改"Content-Type"标头.参数名称:名称

您好我使用HttpWebRequest GET方法来调用REST服务.我收到错误: - ***'Content-Type'标头必须使用适当的属性或方法进行修改.参数名称:name.***我从stackoverflow检查了所有与此问题相关的答案.

我的代码: -

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

public partial class _Default : System.Web.UI.Page
{
    protected void Button1_Click(object sender, EventArgs e)
    {
        Getvalue(TextBox1.Text,TextBox2.Text,TextBox3.Text);
    }

    private void Getvalue(string text1, string text2, string text3)
    {

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        request.Method = "POST";
        request.KeepAlive = true;
        request.ContentType = "appication/json";
        request.Headers.Add("Content-Type", "appication/json");
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        string myResponse = "";
 using (System.IO.StreamReader sr = new system.IO.StreamReader(response.GetResponseStream()))
        {
            myResponse = sr.ReadToEnd(); …
Run Code Online (Sandbox Code Playgroud)

c# wcf-data-services

7
推荐指数
1
解决办法
1万
查看次数