Wcf数据服务 - 401错误
问题描述:
林建立一个公共网站,您需要登录,我一直在使用asmx服务。现在我想尝试Wcf数据服务,并通过jQuery查询服务。Wcf数据服务 - 401错误
这一切工作正常,在本地主机上,但一旦我出版我的网站,我得到这个错误:
401 - Unauthorized: Access is denied due to invalid credentials.
我一直在使用实体数据模型映射到我的数据库,然后我创建连接到一个WCF数据服务我的数据模型是这样的:其中MyEntities映射我的实体数据模型到我的数据库时指定
public class MyService : DataService<MyEntities>
{
// This method is called only once to initialize service-wide policies.
public static void InitializeService(DataServiceConfiguration config)
{
config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
}
}
。
我写,这一切工作在本地主机上很好,我可以查询我的服务是这样的:
$.ajax({
type: "GET",
url: "/OData/MyService.svc/Groups",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
//some logic
}});
但是当我使用的发行版,我得到的401错误。 (我直接在浏览器中写入查询时出现同样的错误)
我真的是使用Wcf服务的绿色,所以我真的需要帮助来完成这项工作,我曾尝试谷歌,但没有运气。我是否需要在我的服务或web.config或IIS中执行任何配置?
即时通讯使用IIS 7.0和asp.net 4.0
答
错误401是一个HTTP错误 - 拒绝访问。
这是从IIS到达您的服务器端C#代码之前。
如何解决它取决于您的身份验证是什么。但基本思想是请求必须包含足够的认证信息才能使服务器接受请求。
答
我终于得到它的工作,指定的用户没有在磁盘上的读取权限。有时它看起来很难但很简单。
案件关闭。
*现在我想尝试Wcf数据服务,而不是使用OData *:ahem .... WCF数据服务是微软具体的**实施**的OData ...... – 2010-12-21 20:07:37
我明白了,正如我所说的,我在这个领域非常绿色。 – Andreas 2010-12-21 20:12:37