我已经开发了一个可以在任何地方返回DataTable的应用程序.
现在我的客户端想要转换(使用服务堆栈使用某些部分),所以我需要在我的应用程序中返回DTO(对象).
我不想更改现有的存储过程,甚至不想尽可能多地使用LINQ(我对LINQ并不太了解).
对于小功能,我可以使用Linq没问题.
我的问题是:我如何改变我DataTable对该类的对象?
示例代码如下
string s = DateTime.Now.ToString();
DataTable dt = new DataTable();
dt.Columns.Add("id");
dt.Columns.Add("name");
for (int i = 0; i < 5000000; i++)
{
DataRow dr = dt.NewRow();
dr["id"] = i.ToString();
dr["name"] = "name" + i.ToString();
dt.Rows.Add(dr);
dt.AcceptChanges();
}
List<Class1> clslist = new List<Class1>();
for (int i = 0; i < dt.Rows.Count; i++)
{
Class1 cls = new Class1();
cls.id = dt.Rows[i]["id"].ToString();
cls.name = dt.Rows[i]["name"].ToString();
clslist.Add(cls);
}
Response.Write(s);
Response.Write("<br>");
Response.Write(DateTime.Now.ToString());
Run Code Online (Sandbox Code Playgroud)
我知道,上面是耗时的,所以我试图找到一个替代解决方案.
有没有其他方法(我猜,LINQ to DataTable),通过它直接将表行转换为DTO …
我在C#.net中创建了一个web应用程序并创建了一个app_code文件夹,其中创建了一个文件
命名为"SessionHelper.cs"(属性设置为"Compile",以便它可以在Webapplication中访问)
它用于设置和获取会话参数,当我尝试调试它时,在"监视窗口"中给出了如下所示的"值"
app_code.SessionHelper.IsURLCheckSupport(Name)
The type 'Solution.Web.app_code.SessionHelper' exists in both
'Solution.Web.dll' and 'App_Code.wgj24okr.dll' (value)
Run Code Online (Sandbox Code Playgroud)
见下文,

所以我无法在调试时获得价值,可以解决这个问题.
如果您想了解更多详情,请告诉我.
我目前正在努力ServiceStack,对它来说很新.(非常有趣;他们说他们比WCF和REST WCF(GET,POST,PUT,DELETE)更好)
我发现它很有帮助,只需要很少的代码就可以快速运行它.
目前我想发布数据.我制作类的对象并发送POST请求.
JsonServiceClient client = new JsonServiceClient(myURL);
MYclass cls= MakeObjectForServiceStackToInsertData();
var res = client.Post<MYClass>("/postrequest", cls);
Run Code Online (Sandbox Code Playgroud)
通过上面的代码你可以理解,我正在做的事情是什么.我想我没错.如果你感到困惑,请告诉我.
我可以(KEY->Value)在我的客户端应用程序中为我的类创建一个JSON字符串(手动),并使用服务堆栈将其发送到服务器以发送数据.
即
string str = myJsonString();
var res = client.Post<.....>
Run Code Online (Sandbox Code Playgroud)
因此,如果我可以在ServiceStack的POST事件中生成JSON字符串并对其进行反序列化并在数据库中插入数据,那么不是发布整个对象,而是发布它.
任何的想法?
我可以在paypal IPN中提供我的localhost网址来发回消息以通知并处理它吗?
要么...
我是否需要实时服务器URL来处理(我猜这是对的)因为paypal在发送消息时知道实时URL,但它从不知道localhost url发送消息.
任何人都可以告诉我,我需要实时服务器URL或我可以使用localhost因为我不确定.
如果我需要实时URL,我如何在visual studio中调试和开发我的功能(发送邮件等)?
有没有人有一个小例子或一些有用的链接?
我用google oAuth开发了一个应用程序,这个工作正常.
我可以登录并访问我的网站.
我的问题是,当我从我的应用程序中退出(注销)时,我会删除所有会话,但不会删除经过身份验证的cookie(由google oAuth制作).
所以,当我注销,并使用谷歌oAuth登录时,它直接登录到系统,而不要求在谷歌帐户上验证电子邮件和密码.
任何人都知道我需要做什么才能删除该cookie并强制用户在注销一次后使用google oAuth再次登录.
非常新的sql lite,
我想将它用于一个小项目,获得一些概述,并尝试实现,但我在连接字符串后使用时出错?
有人可以告诉我,当我从web.config为sql lite连接字符串设置路径时,我需要做什么更改.
SQLiteConnection connection = new SQLiteConnection("D:\\Projects\\Apica MVC\\wizardDemo\\Apica.Signupweb.Presentation.MvcWeb\\App_Data\\SignUpWebDB");
Run Code Online (Sandbox Code Playgroud)
我有一个错误.......
"参数"D:\ Projects\Apica MVC\wizardDemo\Apica.Signupweb.Presentation.MvcWeb\App_Data\SignUpWebDB""的无效ConnectionString格式
没有为字符串设置密码.
我刚刚尝试制作一个示例应用程序,通过它可以通过Windows Live Id OAuth协议登录我的网站.
我的应用程序(下载的一个网上样本)工作正常.它打开弹出窗口,我可以提供我的Windows Live Id凭据,然后重定向回我帐户中提供的重定向URL.
我注意到,当我提供实时URL(让我们说..... myappp.sample.com)时,它完全重定向.但是当我尝试放入(http:// localhost:52254/WebSite9/default.aspx)时,我的帐户不支持此功能.(错误 - >您必须输入以http://或https://开头的有效域 - 不允许查询字符串.长度限制为248个字符.)
我的问题是,我怎样才能在我的本地环境中测试整个事物.因为它不会重定向回localhost URL.仅重定向到Live URL.
有没有办法用开发环境测试Live Id OAuth?
当我在服务堆栈上发出GET请求时,它工作正常.感谢服务堆栈,让开发人员工作变得非常轻松.在页面上,我有两个问题.可能有些人可以帮助我.据我所知,了解你的工作以及内部工作原理总是更好.

看到上面的图片,当我在服务堆栈上发送GET请求时,它会显示我这种布局.
1>我想知道我可以自定义显示.即我可以删除传送"SnapShot ....."(大头)
2>我想知道,为什么在表的标题(结果表)中为属性中定义的每个大写字符占用空间.即在我的项目中,类中的属性名称是 - > instanceName,它在标题中表示为"实例名称".
谁能告诉我这背后的原因是什么?
我的项目中有一些东西,我需要在字段中显示下一个主键而不在物理上插入记录?
如何在不插入记录的情况下知道主键的下一个值?
即,Lets有10条记录,ID列为主键.现在我删除了第10条记录,所以下一个值将是11.
我想知道下一个主键的值(在我的情况下为11),而不是在表中物理地插入记录.
简而言之,未来下一个主键的价值.
我该怎么办?
请提供解决方案.
我发现你是唯一一个回答服务堆栈的人,我没有收到电子邮件以及你提供给我的最后一个问题,看起来很好.
我见过你的个人资料,因为你是mythZ的主要创始人,我似乎再次问你我的问题.
对于我的一个问题,将JSON格式的POST数据发送到服务堆栈,我感谢您的回答.你的答案是正确的,但在我的情况下,我有以下案例.让我更详细地描述.
我见过服务堆栈的"Hello World"示例.我获得了https://github.com/ServiceStack/ServiceStack.Extras/blob/master/doc/UsageExamples/UsingRestAndJson.cs的链接
在我的情况下,我有控制台应用程序,它调用服务堆栈(在数据库中插入数据)现在,在该控制台应用程序中,我创建了一个类(class1),它在服务堆栈中具有相同的属性.
我在控制台应用程序中为该类的属性赋值,并将整个对象POST到服务堆栈.Syntex如下所示
JsonServiceClient client = new JsonServiceClient(myURL);
MYclass cls= MakeObjectForServiceStackToInsertData();
var res = client.Post<MYClass>("/postrequest", cls);
Run Code Online (Sandbox Code Playgroud)
我如上所述使用POST.这似乎没关系.在OnPOST事件的服务堆栈结束时,我获取此数据并插入数据库.它对我来说很好.
现在我的客户希望我们需要以任何格式传递数据.JSON/XML.我知道这是可能的,因为你提供了一个"Hello world"示例链接,它在那里提到.
但我发现,他们使用ajax/Jquery将数据发布到服务中.在我的情况下这是控制台应用程序,所以我无法使用ajax/Jquery.我想知道,是否有可能以JSON格式传递数据并在我的情况下进行操作.
非常感谢你提前.