我有一个奇怪的问题。我从我的 Android 应用程序中调用 ASP.NET Web API。我可以从应用程序发出 POST 请求,没有任何问题。但是,当我去发出 GET 请求时,请求返回“400 bad request invalid hostname”。这很奇怪,因为我可以发出 POST 请求,而不是 get 请求。我使用的 URL 是http://10.0.2.2/webapp/api/controllername(10.0.2.2,因为 android 模拟器使用 127.0.0.1;这是已发布的解决方法)。我确实启用了互联网权限。
我当前正在调试 Web API,并且可以调试 post 请求。我可以在 Internet Explorer 中手动输入获取请求的 URL,然后访问服务器。这就是我知道它起作用的方式。我有一个 application_beginrequest 的处理程序,只是为了查看我什至正在访问服务器,它是用于发布请求的。但我什至从未看到服务器收到 get 请求。
为了发出 Android GET 请求,我使用了以下内容(添加了带有附加信息的注释)。
//Creation of get request
HttpGet request = new HttpGet(url); //correct URL; verified
for(NameValuePair h : headers)
{
//6 headers added; verified OK
request.addHeader(h.getName(), h.getValue());
}
//Calls method shown below
return executeRequest(request, url);
private ResponseInformation executeRequest(HttpUriRequest request, String url) …Run Code Online (Sandbox Code Playgroud) 有人可以建议......一旦我改变了ddl的索引,我无法弄清楚为什么没有发生autopost.
请告知我缺少什么?这是标记:
<telerik:RadComboBox runat="server" ID="ddl" AutoPostBack="true"
DataTextField="name" Width="152" OnSelectedIndexChanged="Bindemail"
DataValueField="name" DataSourceID="DataSource1" AllowCustomText ="true"
EmptyMessage="Select user..." HighlightTemplatedItems="true"
Filter="Contains" MarkFirstMatch="true"/>
Run Code Online (Sandbox Code Playgroud) 我有以下课程:
[Msg(Value = "YaaY")]
public class PersonContainer<T> where T : new()
{
...
}
public class HappyPerson
{
...
}
[Msg(Value = "NaaY")]
public class SadPerson
{
...
}
Run Code Online (Sandbox Code Playgroud)
使用以下方法,我可以获得"PersonContainer"的属性:
public void GetMsgVals(object personContainer)
{
var info = personContainer.GetType();
var attributes = (MsgAttribute[])info.GetCustomAttributes(typeof(MsgAttribute), false);
var vals= attributes.Select(a => a.Value).ToArray();
}
Run Code Online (Sandbox Code Playgroud)
但是我只获得"PersonContainer"(即"YaaY")的属性,如何T (HappyPerson [if any] or SadPerson["NaaY"])在不知道T是什么的情况下获得运行时的属性?
我目前正在启动ASP.NET MVC 4,在我正在阅读的书中,作者介绍了Ninject的依赖注入.他创建了一个自定义依赖项解析器(我不完全理解它是如何工作的,但我认为它的用途是轻松管理依赖项解析).
这是控制器代码:
public class HomeController : Controller
{
private Product[] products = {
new Product {Name = "Kayak", Category = "Watersports", Price = 275M},
new Product {Name = "Lifejacket", Category = "Watersports", Price = 48.95M},
new Product {Name = "Soccer ball", Category = "Soccer", Price = 19.50M},
new Product {Name = "Corner flag", Category = "Soccer", Price = 34.95M}
};
private IValueCalculator calc;
public HomeController(IValueCalculator calcParam)
{
calc = calcParam;
}
public ActionResult Index()
{
ShoppingCart cart = …Run Code Online (Sandbox Code Playgroud) 我有一个Biztalk项目,它具有以下设置:
General > Redeploy > True
Local Machine > Install to Global Assembly Cache > True
Run Code Online (Sandbox Code Playgroud)
涉及的所有项目都生成了SNK文件.但是,我删除了一个引用,并且根据biztalk文档,它尚未从GAC 中清除.当我尝试在c:\ windows\assembly中找到已安装的程序集时,我找不到我的BiztalkProject.DLL或BiztalkLibraries.DLL项目.这可能是权限问题,还是我处理不同的问题?
biztalk gac windows-server-2012 visual-studio-2013 biztalk-2013r2
我想用.NET运行参数化SQL.但是当我使用AddWithValue()生成的命令时不起作用.
SqlCommand cmd = new SqlCommand("SELECT * FROM table WHERE table.name = @A")
cmd.Parameters.AddWithValue("@A", "A string");
Run Code Online (Sandbox Code Playgroud)
生成此sql命令:
exec sp_executesql N'SELECT * FROM table WHERE table.name = @A',N'@A nvarchar(10)',@A=N'''A string'''
Run Code Online (Sandbox Code Playgroud)
但是该命令不返回任何值,而以下命令返回我想要的值(即匹配一行):
SELECT * FROM table WHERE table.name = 'A String'
Run Code Online (Sandbox Code Playgroud)
第二个查询执行我期望的,我希望两个查询返回相同的结果.
我在代码中做错了什么?
在.NET中,要确定提供的字符串是否为日期,哪一个更快:使用DateTime将其强制转换为日期,还是使用正则表达式检查字符串的有效性作为日期?
我只需要确保提供的值是一个日期,之后我就不会做任何事了.
谢谢.
我已经看到一些有趣的方法来处理Linq的字符串:
例如,要通过用X代替它来隐藏字符串中的数字,我可以这样做:
string strNum = "Hello, my number is ... 3456c456";
string strHidden = new String(strNum.ToCharArray()
.Select(c => (!char.IsNumber(c)) ? c : 'X').ToArray());
Console.WriteLine(strHidden);
Run Code Online (Sandbox Code Playgroud)
是否有Linq方法来执行此操作,仅当当前字符是数字并且以下两个字符是数字时才替换数字?
有很多方法可以定制上面的方法,但我想知道是否有一种简单的linq方法可以一次使用多个字符.
编辑:添加当前字符的要求也是一个数字.
如果单击的链接将target ="_ blank"设置为属性,我想调用window.open,否则我设置iframe来加载页面.
如何检查attr并确保它在值为null时不会崩溃等.
到目前为止我有这个:
if ($(that).attr("target") == "_blank") {
window.open(linkHref, "_blank");
}
else {
document.getElementById(someFrame).src = linkHref;
}
Run Code Online (Sandbox Code Playgroud)
我很害怕如果$(that).attr("target")没有设置,或者是空的,它会崩溃.
c# ×4
.net ×2
asp.net ×2
android ×1
asp.net-mvc ×1
biztalk ×1
datetime ×1
gac ×1
generics ×1
http ×1
javascript ×1
jquery ×1
linq ×1
ninject ×1
reflection ×1
regex ×1
sql ×1
sql-server ×1
telerik ×1