这是PUT
我的Web API上方法的调用- 方法的第三行(我从ASP.NET MVC前端调用Web API):
client.BaseAddress
是http://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代码):
前端部门控制员 …
我想要做的是将用户ID限制为只能一次登录到一个设备.例如,用户ID"abc"登录到他们的计算机.用户ID"abc"现在尝试从手机登录.我想要发生的是在他们的计算机上杀死会话.
Spotify应用就是这样做的 - Spotify只允许一个用户ID一次登录到一个设备上.
我正在使用ASP.NET成员资格(SqlMembershipProvider)和表单身份验证.
我已尝试使用Session变量,但我不确定从何处开始.
c# asp.net-membership session-state sqlmembershipprovider asp.net-mvc-4
我决定将Web API(作为中间层)用于我正在开发的应用程序,但似乎无法弄清楚如何将其"绑定"到前端(前端是ASP.NET MVC4项目).通常,我只需右键单击前端的服务,选择"添加服务引用",然后将我的服务的URL放入.但是使用Web API,我不能这样做.从我的前端使用的Web API创建客户端代理类有哪些选项,为什么不像添加WCF或ASMX那样将Web API支持作为引用添加?
默认情况下,Azure网站/ webapps的命名约定是somesubdomain.cloudapp.net
和somesubdomain.azurewebsites.net
.如果我有一个现在通过GoDaddy托管的现有网站,并且该网站是www.mysite.com
,我如何告诉注册商(DNS)查看Azure服务器的网站内容(我有更改名称服务器指向的经验一个特定的网络托管公司的名称服务器,但似乎Azure没有这样的东西.
最终我想要做的是转到www.mysite.com
Azure上托管的内容,在Azure的VM上运行.是弄乱DNS的CNAME,A等属性的唯一方法吗?
我在Azure上有一个VM,我想用来托管我的网站.这是我将使用的平台.我没有使用Azure"网站"或"云服务".
我构建了一个Web API服务,该服务在我的IIS机器上本地托管.我有一个iOS应用程序,我通过XCode运行,调用Web服务.连接就在那里,并且有效.iOS应用程序成功连接到我发布的Web服务.
问题是我的Web服务正在向客户端(iOS)返回一个非描述性错误,所以我需要做的是在运行我的iOS应用程序时单步执行Web服务代码.
所以,总结一下:
如何在运行访问Web服务的客户端应用程序(iOS)时单步执行我的Web服务代码?
我正在使用ASP.NET MVC5,剃刀语法.我需要一个特定的"创建"视图来不继承_Layout.cshtml
共享视图.
基本上,在这个特定的视图中,我不想要任何_Layout.cshtml
功能,如导航菜单,页脚等.
我已经熟悉了Linq但对扩展方法了解甚少,我希望有人可以帮助我.
所以我有这个分层集合伪代码,即:
class Product
prop name
prop type
prop id
prop List<Product> children
Run Code Online (Sandbox Code Playgroud)
我有一个产品列表产品列表.
有没有什么办法可以通过id用扩展方法在这个集合中查找产品?换句话说,我需要在层次结构中的某个位置使用一个项目.
我将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) 所以,我要做的是将一些资源文件(.js、.css 等)加载到 Google Drive。基本上,我想将我的 Google Drive 用作一种 CDN。这可能吗?当我上传一个 .js 文件时,我想获得一个直接链接(例如http://drive.google.com/test/test.js)。
我以前从未这样做过,我所做的所有研究都表明需要用户名/密码.情况就是这样:我正在为我的公司开发一个应用程序,该应用程序需要访问网络上的文件共享.我们称之为文件共享\\server\TPK
.我的应用需要从此共享中的此文件夹中获取文件.在公司网络上使用文件共享与使用File I/O(System.IO
)一样吗?任何人都可以给我任何指导如何做到这一点?我知道这可能是一个基本问题,我为此道歉.