我有一个托管的ASP.NET Web API,可以正常访问http get请求,我现在需要将一些参数传递给PostAsync请求,如下所示:
var param = Newtonsoft.Json.JsonConvert.SerializeObject(new { id=_id, code = _code });
HttpContent contentPost = new StringContent(param, Encoding.UTF8, "application/json");
var response = client.PostAsync(string.Format("api/inventory/getinventorybylocationidandcode"), contentPost).Result;
Run Code Online (Sandbox Code Playgroud)
此调用返回404 Not Found结果.
服务器端API操作如下所示:
[HttpPost]
public List<ItemInLocationModel> GetInventoryByLocationIDAndCode(int id, string code) {
...
}
Run Code Online (Sandbox Code Playgroud)
只是为了确认我在Web API上的路由如下所示:
config.Routes.MapHttpRoute(
name: "DefaultApiWithAction",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)
我假设我正在错误地传递JSON HttpContent,为什么这将返回状态404?
我们刚刚在MVC 4中为客户构建了一个网站,该网站已部署并在线,但客户现在抱怨加载时间非常慢.我们无法复制在我们的机器上查看同一网站的问题.
为了开始调查这个问题,我们将New Relic连接到我们的服务器并监控应用程序,这就是我们所看到的:

WebTransaction的响应时间为57,900毫秒,问题是我们不知道这个Web事务到底是什么,也不知道如何解决它.
有没有人见过这个?我们怎样才能解决这个庞大的加载时间?
谢谢,
我在ItemTemplate中有一个带有RadioButtonList的转发器,但是当RadioButtonList.OnSelectedIndexChanged事件触发时,它会生成一个完整的回发.我在下面的代码中做错了什么?如何获取OnSelectedIndexChanged以生成异步回发?
<asp:UpdatePanel runat="server" ID="UpdatePanel2">
<ContentTemplate>
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="sqlOptions">
<ItemTemplate>
<asp:UpdatePanel runat="server" ID="pnlA">
<ContentTemplate>
<strong>
<%# Eval("Name") %></strong><br />
<asp:RadioButtonList ID="RadioButtonList1"
DataSourceID="sqlOptionValues" runat="server"
DataTextField="id" DataValueField="Id" AutoPostBack="true"
OnSelectedIndexChanged="LoadPrice"
ValidationGroup="options" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1"
ForeColor="Red" runat="server"
ControlToValidate="RadioButtonList1"
ErrorMessage="Required Field"
ValidationGroup="options" />
<asp:SqlDataSource ID="sqlOptionValues" runat="server"
ConnectionString="<%$ ConnectionStrings:
ConnectionString6 %>"
SelectCommand='<%# "SELECT DISTINCT OptionValue.Name,
OptionValue.Id FROM CombinationDetail
INNER JOIN OptionValue
ON CombinationDetail.OptionValueId = OptionValue.Id
WHERE (OptionValue.OptionId =" +
Eval("Id") + ")" %>'>
</asp:SqlDataSource>
<br />
</ContentTemplate>
</asp:UpdatePanel>
</ItemTemplate>
</asp:Repeater>
</ContentTemplate>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)
非常感谢任何帮助:)
我刚开始使用Android Studio.当我编辑"activity_main.xml"时,按Enter键不能转到新行.此外,我试图插入新的信件,但刚刚更换了新的信件.所以我点击了所有地方进入关键工作然后突然我得到了新的一行.我不知道为什么.
太烦人了.我按错了钥匙吗?我不想再发生这种情况.
我搜索"新行输入关键android工作室"来了解这一点,但我找不到任何有用的东西.
如何转换我的字符串列表:
List<string> appliedFilters = filterString.Split(',').Select(n => n).ToList();
Run Code Online (Sandbox Code Playgroud)
进入一个没有重复的列表?
我的字符串列表(appliedFilters)如下所示:
7-27,
2-37,
7-28,
9-18,
9-22,
9-80
Run Code Online (Sandbox Code Playgroud)
我需要在字符串的第一部分输出此列表而不重复,例如:
7-27-28, 2-37, 9-18-22-80
Run Code Online (Sandbox Code Playgroud)
我确定这里有一个LINQ查询,但无法弄清楚.
我有以下查询,它根据采购订单检查收货,以查看最初订购的商品以及通过收货预订的商品数量.例如,我下了10个香蕉奶昔的采购订单,然后我生成了一个收据,说明我在所述采购订单上收到了5个这样的奶昔.
SELECT t.PONUM, t.ITMNUM, t.ordered,
SUM(t.received) as received,
t.ordered - ISNULL(SUM(t.received),0) as remaining,
SUM(t.orderedcartons) as orderedcartons,
SUM(t.cartonsreceived) as cartonsreceived,
SUM(t.remainingcartons) as remainingcartonsFROM(SELECT pod.PONUM,
pod.ITMNUM, pod.QTY as ordered, ISNULL(grd.QTYRECEIVED, 0) as received,
pod.DELIVERYSIZE as orderedcartons,
ISNULL(grd.DELIVERYSIZERECEIVED, 0) as cartonsreceived,
(pod.DELIVERYSIZE - ISNULL(grd.DELIVERYSIZERECEIVED, 0)) as remainingcartons
FROM TBLPODETAILS pod
LEFT OUTER JOIN TBLGRDETAILS grd
ON pod.PONUM = grd.PONUM and pod.ITMNUM = grd.ITMNUM) t
GROUP BY t.ITMNUM, t.PONUM, t.ordered
ORDER BY t.PONUM
Run Code Online (Sandbox Code Playgroud)
返回以下数据:
PONUM ITMNUM ordered received remaining orderedcartons cartonsreceived remainingcartons
1 1 …Run Code Online (Sandbox Code Playgroud) c# ×3
android ×1
asp.net ×1
duplicates ×1
foreach ×1
httpclient ×1
httpcontent ×1
linq ×1
list ×1
nested ×1
newrelic ×1
repeater ×1
sql ×1
string ×1
updatepanel ×1