小编Mik*_*rks的帖子

Web API Put Request生成Http 405 Method Not Allowed错误

这是PUT我的Web API上方法的调用- 方法的第三行(我从ASP.NET MVC前端调用Web API):

在此输入图像描述

client.BaseAddresshttp://localhost/CallCOPAPI/.

这是contactUri:

在此输入图像描述

这是contactUri.PathAndQuery:

在此输入图像描述

最后,这是我的405回复:

在此输入图像描述

这是我的Web API项目中的WebApi.config:

        public static void Register(HttpConfiguration config)
        {
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );

            config.Routes.MapHttpRoute(
                name: "DefaultApiGet",
                routeTemplate: "api/{controller}/{action}/{regionId}",
                defaults: new { action = "Get" },
                constraints: new { httpMethod = new HttpMethodConstraint("GET") });

            var json = config.Formatters.JsonFormatter;
            json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects;
            config.Formatters.Remove(config.Formatters.XmlFormatter);
Run Code Online (Sandbox Code Playgroud)

我试着剥离下来获取传递到路径PutAsJsonAsync,以string.Format("/api/department/{0}", department.Id)string.Format("http://localhost/CallCOPAPI/api/department/{0}", department.Id)没有运气.

有没有人有任何想法为什么我得到405错误?

UPDATE

根据请求,这是我的部门控制器代码(我将发布我的前端项目的部门控制器代码,以及WebAPI的部门ApiController代码):

前端部门控制员 …

c# asp.net-mvc json http-status-code-405 asp.net-web-api

125
推荐指数
5
解决办法
15万
查看次数

当同一用户ID尝试登录多台设备时,如何终止其他设备上的会话?

我想要做的是将用户ID限制为只能一次登录到一个设备.例如,用户ID"abc"登录到他们的计算机.用户ID"abc"现在尝试从手机登录.我想要发生的是在他们的计算机上杀死会话.

Spotify应用就是这样做的 - Spotify只允许一个用户ID一次登录到一个设备上.

我正在使用ASP.NET成员资格(SqlMembershipProvider)和表单身份验证.

我已尝试使用Session变量,但我不确定从何处开始.

c# asp.net-membership session-state sqlmembershipprovider asp.net-mvc-4

33
推荐指数
3
解决办法
5万
查看次数

为什么我们不能像在WCF或ASMX中那样在Visual Studio中添加Web API作为"服务引用"?

我决定将Web API(作为中间层)用于我正在开发的应用程序,但似乎无法弄清楚如何将其"绑定"到前端(前端是ASP.NET MVC4项目).通常,我只需右键单击前端的服务,选择"添加服务引用",然后将我的服务的URL放入.但是使用Web API,我不能这样做.从我的前端使用的Web API创建客户端代理类有哪些选项,为什么不像添加WCF或ASMX那样将Web API支持作为引用添加?

c# service asp.net-mvc-4 asp.net-web-api

26
推荐指数
2
解决办法
2万
查看次数

如何获得您拥有的现有域以指向Azure的服务器?

默认情况下,Azure网站/ webapps的命名约定是somesubdomain.cloudapp.netsomesubdomain.azurewebsites.net.如果我有一个现在通过GoDaddy托管的现有网站,并且该网站是www.mysite.com,我如何告诉注册商(DNS)查看Azure服务器的网站内容(我有更改名称服务器指向的经验一个特定的网络托管公司的名称服务器,但似乎Azure没有这样的东西.

最终我想要做的是转到www.mysite.comAzure上托管的内容,在Azure的VM上运行.是弄乱DNS的CNAME,A等属性的唯一方法吗?

我在Azure上有一个VM,我想用来托管我的网站.这是我将使用的平台.我没有使用Azure"网站"或"云服务".

dns web-hosting azure

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

需要调试从客户端计算机请求的Web API服务 - 需要帮助,我该怎么做?

我构建了一个Web API服务,该服务在我的IIS机器上本地托管.我有一个iOS应用程序,我通过XCode运行,调用Web服务.连接就在那里,并且有效.iOS应用程序成功连接到我发布的Web服务.

问题是我的Web服务正在向客户端(iOS)返回一个非描述性错误,所以我需要做的是在运行我的iOS应用程序时单步执行Web服务代码.

所以,总结一下:

  1. 我通过MacBook运行iOS应用程序,它连接到我的.NET Web API服务.
  2. 我的Web API服务发布到我的本地IIS,并将错误返回给客户端.
  3. 在Visual Studio中没有遇到断点 - 我是否需要将Visual Studio调试器附加到特定进程?我已经尝试在运行我的iOS应用程序时以调试模式运行我的Web服务,但无济于事.

如何在运行访问Web服务的客户端应用程序(iOS)时单步执行我的Web服务代码?

.net c# xcode visual-studio-debugging asp.net-web-api

13
推荐指数
2
解决办法
5万
查看次数

如何在MVC中创建某个View而不是继承_Layout.cshtml?

我正在使用ASP.NET MVC5,剃刀语法.我需要一个特定的"创建"视图来不继承_Layout.cshtml共享视图.

基本上,在这个特定的视图中,我不想要任何_Layout.cshtml功能,如导航菜单,页脚等.

c# asp.net-mvc master-pages view razor

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

Linq扩展方法,如何在集合中查找子递归

我已经熟悉了Linq但对扩展方法了解甚少,我希望有人可以帮助我.

所以我有这个分层集合伪代码,即:

class Product
  prop name
  prop type
  prop id
  prop List<Product> children
Run Code Online (Sandbox Code Playgroud)

我有一个产品列表产品列表.

有没有什么办法可以通过id用扩展方法在这个集合中查找产品?换句话说,我需要在层次结构中的某个位置使用一个项目.

c# linq recursion extension-methods hierarchy

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

事件消息:发生了未处理的访问异常(IIS 7.5,无法加载网站)

我将Nuget源代码部署到我公司的Web服务器,但是当导航到URL时,我收到以下错误(从服务器上的事件查看器中提取):

Event code: 4011 
Event message: An unhandled access exception has occurred. 
Event time: 11/6/2013 9:02:54 AM 
Event time (UTC): 11/6/2013 3:02:54 PM 
Event ID: 2f5d6f7e594e47259b6dc050f82fc57d 
Event sequence: 2 
Event occurrence: 1 
Event detail code: 0 

Application information: 
    Application domain: /LM/W3SVC/2/ROOT/Nuget-3-130282237713215393 
    Trust level: Full 
    Application Virtual Path: /Nuget 
    Application Path: E:\omitted\omitted\Nuget\ 
    Machine name: SERVERNAME

Process information: 
    Process ID: 1420 
    Process name: w3wp.exe 
    Account name: DOMAIN\serviceAccount 

Request information: 
    Request URL: http://subdomain.domain.net/nuget 
    Request path: /nuget 
    User host address: ***.**.***.** 
    User:  
    Is authenticated: …
Run Code Online (Sandbox Code Playgroud)

c# unhandled-exception iis-7.5 nuget asp.net-mvc-4

9
推荐指数
2
解决办法
2万
查看次数

如何使用 Google Drive 作为一种 CDN

所以,我要做的是将一些资源文件(.js、.css 等)加载到 Google Drive。基本上,我想将我的 Google Drive 用作一种 CDN。这可能吗?当我上传一个 .js 文件时,我想获得一个直接链接(例如http://drive.google.com/test/test.js)。

cdn google-drive-api

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

使用C#访问网络文件共享

我以前从未这样做过,我所做的所有研究都表明需要用户名/密码.情况就是这样:我正在为我的公司开发一个应用程序,该应用程序需要访问网络上的文件共享.我们称之为文件共享\\server\TPK.我的应用需要从此共享中的此文件夹中获取文件.在公司网络上使用文件共享与使用File I/O(System.IO)一样吗?任何人都可以给我任何指导如何做到这一点?我知道这可能是一个基本问题,我为此道歉.

.net c# file-io http fileshare

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