我正在尝试使用离子框架构建移动应用程序.当我的应用程序尝试连接服务器以获取json(服务器是web api和cors已启用)时,它只会在genymotion和真实设备上返回404.但是当我在浏览器中运行应用程序时,ionic serve一切正常.
我很确定CORS是功能性的.我在应用程序在浏览器中工作时得到的响应头.
响应
Access-Control-Allow-Origin:*
Cache-Control:no-cache
Content-Length:395
Content-Type:application/json; charset=utf-8
Date:Fri, 08 May 2015 20:24:04 GMT
Expires:-1
Pragma:no-cache
Server:Microsoft-IIS/7.0
X-AspNet-Version:4.0.30319
X-Powered-By:ASP.NET
Run Code Online (Sandbox Code Playgroud)
要求:
Accept:application/json, text/plain, */*
Accept-Encoding:gzip, deflate, lzma, sdch
Accept-Language:tr-TR,tr;q=0.8,en-US;q=0.6,en;q=0.4
Cache-Control:no-cache
Connection:keep-alive
DNT:1
Host:*******:14400
Origin:http://192.168.0.28:8100
Pragma:no-cache
Referer:http://192.168.0.28:8100/
Run Code Online (Sandbox Code Playgroud)
Config.xml <access origin="*"/>在配置中有 这一行
在我的app.js中,我删除了所有http调用的X-Requested-With标头.
.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
}
])
Run Code Online (Sandbox Code Playgroud)
我简单地在工厂类中使用get request to server.
$http.get(serverPath + "/api/mobilerest/mainPage");
Run Code Online (Sandbox Code Playgroud)
当我在Genymode或真实设备中运行应用程序时,响应为404,statusText为"未找到".我很确定web api正在工作,这种行为的原因是基于离子的应用程序,我的应用程序是本地文件,协议是file:///所以Origin头部在请求中为null,然后服务器返回404.我也试过没有任何服务器的本地文件我得到了与应用程序相同的错误.
Accept:*/*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:tr-TR,tr;q=0.8,en-US;q=0.6,en;q=0.4
Cache-Control:no-cache
Connection:keep-alive
DNT:1
Host:server:14400
Origin:null
Pragma:no-cache
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
我正在努力学习Asp.net mvc.我知道它与形式不同,我需要改变我的思维方式.我的问题是关于webgrid.当我将webgrid添加到我的页面并点击搜索按钮时,使用Postr呈现带有寻呼机的表格,依此类推.但寻呼机上的链接不是张贴形式,它们只是链接,我丢失了所有表格的数据.
Controller有两种索引方法,一种是get,另一种是post.为了让我什么都不做,我只是在这种情况下创建新的viewmodel Search类并将其设置为view.对于我的post方法,我抓住我的视图模型进行搜索并设置填充的viewmodel进行查看.
问题:webgrid将寻呼机呈现为链接,因此它将进入索引获取,但因为它不是一个帖子请求我没有填写任何表单字段,我的搜索将不提供相同的结果集.
也许示例代码可以更好地解释它.
视图:
<form action="" method="post">
Esas no : @Html.TextBoxFor(x=>x.Name)
Yil : @Html.TextBoxFor(x=>x.Year)
<input type="submit" value="Search" />
<hr />
@ViewBag.Message
<hr />
@{ var grid = new WebGrid(Model.Results,rowsPerPage:5);}
@grid.GetHtml(tableStyle:"table",htmlAttributes:new {id="tbl"} )
</form>
Run Code Online (Sandbox Code Playgroud)
这是我的控制器:搜索在Index Post方法中发生,它只有我的viewmodel类.
private ISearchContext _sc;
public MyController(ISearchContext sc)
{
_dc = dc;
}
//
// GET: /Dava/
public ActionResult Index()
{
var search = new Search();
ViewBag.Message = "";
return View(search);
}
[HttpPost]
public ActionResult Index(Search search)
{
Search sres = _dc.SearchFromRepository(search);
ViewBag.Message = …Run Code Online (Sandbox Code Playgroud) 我试图找出ValueInjecter,所以我可以在我们自己种植的小ORM中使用它.由于我应该支持DataRow和DataTable映射,我正在尝试为这种类型实现映射器.老实说,文档不够好,我想给它一个机会.也许Omu或该图书馆的其他一些用户会回答.
这是我的DataRow注入器
public class DataRowInjection: KnownSourceValueInjection<DataRow>
{
protected override void Inject(DataRow source, object target)
{
for (var i = 0; i < source.ItemArray.Count(); i++)
{
//TODO: Read from attributes or target type
var activeTarget = target.GetProps().GetByName(source.Table.Columns[i].ToString(), true);
if (activeTarget == null) continue;
var value = source.ItemArray[i];
if (value == DBNull.Value) continue;
activeTarget.SetValue(target, value);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这非常有效.所以这里有一个问题我如何为DataTable实现这个并返回Ienumarable或IList.我期望做的代码片段就像.
public class DataTableInjector : ?????
{
protected override void Inject(DataTable source, IList<T> target) where T : class
{
// Do My Staff
foreach …Run Code Online (Sandbox Code Playgroud) 我是Objective-C和XCode的新手,我正在努力学习新的东西.有没有办法使用swift从stdin读取字符串?像C++中的cin一样?
使用OracleConnection与TransactionScope时出现这种奇怪的行为.如果我尝试在事务范围中使用connection.BeginTransaction(),我会得到简单优雅的InvalidOperationException:Connection已经是本地或分布式事务的一部分.
这是一些代码:
var trxOptions = new TransactionOptions();
trxOptions.IsolationLevel = IsolationLevel.ReadCommitted;
using (var transaction = new TransactionScope(TransactionScopeOption.Required,trxOptions))
{
var c = ConfigurationManager.ConnectionStrings["oracle_test"].ConnectionString;
using (var oracle = new OracleConnection(c))
{
oracle.Open();
using (var tr = oracle.BeginTransaction(System.Data.IsolationLevel.ReadCommitted))
{
var cmd = oracle.CreateCommand();
cmd.CommandText = "INSERT INTO simple_user VALUES('a')";
cmd.ExecuteNonQuery();
tr.Commit();
}
}
// now go to sql server and insert data
transaction.Complete();
Run Code Online (Sandbox Code Playgroud)
}
如果我不使用BeginTransaction一切正常.有什么想法让它发挥作用?
PS:我在Sql Server上没有这样的问题.
编辑
谢谢你的答案,我想我应该添加一些编辑,以使我的问题清楚.
首先,我上面提供的代码是问题的证明.让我说我有两个DLL的MyProject.Oracle.dll和MyProject2.MsSql.dll,我想使用这些DLL中的方法,他们使用db.BeginTransaction().如果这些dll使用了TransactionScope,我的外部事务就不会成为问题.分配交易将在没有任何问题的情况下处理.但我不能改变dll中的代码.
为什么db.BeginTransaction()适用于SqlServer而不适用于Oracle?
我试图使用命名管道在同一台机器上的服务器和客户端进程之间进行通信.服务器向客户端发送消息,客户端对其执行某些操作并返回结果,服务器应该得到结果.
这是服务器的代码:
using System;
using System.IO;
using System.IO.Pipes;
class PipeServer
{
static void Main()
{
using (NamedPipeServerStream pipeServer =
new NamedPipeServerStream("testpipe", PipeDirection.InOut))
{
Console.WriteLine("NamedPipeServerStream object created.");
// Wait for a client to connect
Console.Write("Waiting for client connection...");
pipeServer.WaitForConnection();
Console.WriteLine("Client connected.");
try
{
// Read user input and send that to the client process.
using (StreamWriter sw = new StreamWriter(pipeServer))
{
sw.AutoFlush = true;
Console.Write("Enter text: ");
sw.WriteLine(Console.ReadLine());
}
pipeServer.WaitForPipeDrain();
using (StreamReader sr = new StreamReader(pipeServer))
{
// Display the read …Run Code Online (Sandbox Code Playgroud) 如果我的帖子有任何错误,请接受我的道歉.这是我在此的头一篇博文.但是,我不是StackOverflow的新手.纠正我,如果有的话.
我正在使用来自以下url的angular-bootstrap-datetimepicker库: 链接到库
我目前正在页面上嵌入日历.我正在使用angular.js,moment.js,grunt和bower.加载日历绝对没有问题,甚至可以选择日期并显示所选日期.
以下是示例代码:
<div>
Selected Date: {{ data.embeddedDate | date:'yyyy-MMM-dd' }}
<datetimepicker data-ng-model="data.embeddedDate" data-datetimepicker-config="{ startView:'day', minView:'day'}" />
</div>Run Code Online (Sandbox Code Playgroud)
我想在datetimepicker在页面上显示时自动突出显示今天的日期.如您所见,在配置选项中,我可以设置默认视图和最小视图.
注意:我试图模仿Plunkr中的工作代码(到现在为止),但它没有显示日历.我也添加了所有库.无论如何,这只是为了想法.如果我能让Plunkr工作,我会再次更新.这是Plunkr的链接.
任何建议(关于默认今天突出显示日期)将不胜感激.
我正在使用Telerik RadGrid,我在网格中添加了一个新按钮,但是如何为此按钮(购买)编写一个事件,例如当用户按下(购买)时,它会将此项目添加到他的购物车中以及其价格以便计算他的账单.问候
我正在使用c#开发metro应用程序,我正在使用async并等待关键字来创建make metro异步操作(下载数据等).我总是显示模态"请等待"对话框.我想在此模态对话框中添加"取消"按钮以允许取消后台操作.但我不知道如何取消处理任务...有没有任何示例如何做到这一点?
这是我的任务的例子:
// Starts task
public void StartTask()
{
// show the modal dialog with progress
_progressDialog.IsOpen = true;
_progressDialog.CancelClick += ProgressDialog_CancelClick;
await ToWork();
_progressDialog.IsOpen = false;
}
// Task which takes some seconds
private async Task DoWork()
{
await DownloadData();
await ProcessData();
}
// Cancel task
private void CancelClick(object sender, RoutedEventArgs e)
{
// hide the modal dialog with progress
_progressDialog.IsOpen = false;
// TODO: Cancel task
GoBack(this, e);
}
Run Code Online (Sandbox Code Playgroud) 我有这种json结构:
{
"Root": {
"data": [
{
"CardName": "card1",
"functions": [
{
"State": "OPEN",
"State": "INHERENT"
}
]
},
{
"CardName": "card2",
"functions": [
{
"State": "CLOSED",
"State": "INHERENT"
}
]
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
我的C#课程是:
[DataContract]
public class Card
{
[DataMember(Name = "CardName")]
public string CardName { get; set; }
[DataMember(Name = "functions")]
public List<Function> Functions { get; set; }
}
[DataContract]
public class Function
{
[DataMember(Name = "State")]
public string State { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我想解析该结构以获得卡片列表,并且每张卡片包含一系列功能.
此刻我正在尝试这个: …
我正在使用一个类模型,其中我声明了一个相同类类型的列表.但是当我要在这个列表中赋值时,它给对象引用null异常,而我在分配给这个列表的参数中有一些值.
public class BackSplashTileGuideViewModel
{
public int ID { get; set; }
public Nullable<int> ProductID { get; set; }
public string ProductDescription { get; set; }
[Required(ErrorMessage ="Required")]
public string Imagepath { get; set; }
public string UpdateImagepath { get; set; }
[Required(ErrorMessage = "Required")]
public string[] Products { get; set; }
public string MultipleProduct { get; set; }
public string ProductsName { get; set; }
public int CreatedBy { get; set; }
public System.DateTime CreatedOn { get; set; } …Run Code Online (Sandbox Code Playgroud)