首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebInvoke Post错误:不允许使用方法

WebInvoke Post错误:不允许使用方法
EN

Stack Overflow用户
提问于 2015-02-19 18:22:01
回答 2查看 260关注 0票数 0

我已经创建了一个简单的WCF数据服务,如下所示。

代码语言:javascript
复制
namespace DataService
{
using System;
using System.Collections.Generic;

public partial class MemoryPackageData
{
    public long c1 { get; set; }
    public long c2 { get; set; }
    public long c3 { get; set; }
    public long c4 { get; set; }
}
}

代码语言:javascript
复制
namespace DataService
{
    public class WCFDataService : DataService<DBEntities>
    {
        // This method is called only once to initialize service-wide policies.
        public static void InitializeService(DataServiceConfiguration config)
        {
            // TODO: set rules to indicate which entity sets and service operations are visible, updatable, etc.
            // Examples:
            config.SetEntitySetAccessRule("MemoryPackageDatas", EntitySetRights.All);
            config.SetServiceOperationAccessRule("InsertEntityData", ServiceOperationRights.All);
            config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3;
        }

        //[WebInvoke(UriTemplate = "InsertEntityData/?package_id={package_id}&package_size={package_size}")]
        [WebInvoke(UriTemplate = "InsertEntityData?package_id={package_id}")]
        public void InsertEntityData(Int64 package_id, Int64 package_Size = 10)
        {
// some stuff
}

现在,当我在firefox中运行此服务并传递一个参数时,该参数在URL中是必需的。

我在这里尝试了许多不同的方法来调用这个方法。但是不确定如何处理这些参数列表。

方法正在向表中插入数据。

有谁能给我引路吗?

谢谢,

米塔尔。

EN

回答 2

Stack Overflow用户

发布于 2015-02-19 18:27:07

默认情况下,WebInvoke将Method=视为“POST”。因此您可以使用WebGet属性或指定Method="GET“

票数 0
EN

Stack Overflow用户

发布于 2015-02-28 09:53:37

在浏览器中,默认的方法是Get。这就是服务将返回405的原因。您可以使用Fiddler将请求与"Post“组合在一起,然后尝试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28603835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档