我的目标是从API中提取XML数据并将其加载到SQL Server数据库.我在这里尝试的第一步是访问数据并显示它.一旦我开始工作,我将循环遍历每一行并将值插入到sql server数据库中.当我尝试运行代码时,没有任何反应,当我将网址直接粘贴到浏览器中时,我收到此错误
"2010-03-08 04:24:17 Wallet exhausted: retry after 2010-03-08 05:23:58. 2010-03-08 05:23:58"
Run Code Online (Sandbox Code Playgroud)
对我而言,似乎foreach循环的每次迭代都会调用该站点,并且我被阻塞了一个小时.我是否以错误的方式从API检索数据?有没有办法将数据加载到内存或数组然后循环?
这是我一起攻击的一些代码.
using System;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml;
using System.Data;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
try
{
string userID = "123";
string apiKey = "abc456";
string characterID = "789";
string url = "http://api.eve-online.com/char/WalletTransactions.xml.aspx?userID=" + userID + "&apiKey=" + apiKey + "&characterID=" + characterID;
XmlDocument xmldoc = new XmlDocument(); …
Run Code Online (Sandbox Code Playgroud) 我正在使用jqGrid来显示搜索结果.单击搜索按钮时,它会执行以下操作:
$("#Search").jqGrid('setGridParam', { url: url }).trigger("reloadGrid");
Run Code Online (Sandbox Code Playgroud)
其中url
包含搜索参数,例如:
var url ="/search?first=joe&last=smith"
Run Code Online (Sandbox Code Playgroud)
Web服务器正在接收此URL并正确响应.但在客户端,它会在jqgrid.min.js第21行抛出此错误:
Syntax error:
}); b.fn.jqGrid = function(f) {
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能解决这个问题?我在许多其他地方成功使用jqGrid,但这是我正在更改URL并重新加载的唯一一个.
我搜索过StackOverflow但仍然无法理解使用单一,第一(或默认)查询的正确语法.
我愿意提出一个问题来首先捕获特定语言的翻译.如果数据库中没有这样的翻译,请用英语获取第一个.
这是我到目前为止所得到的:
locale = "ja-jp";
var items = from c in db.Contents.Include("Translation")
where c.RegionalInfo.Any(x => x.RegionId == locale)
select c;
Run Code Online (Sandbox Code Playgroud)
编辑 Obs:items是一个IEnumerable
Miniprofiler告诉我,我的页面中最慢的部分是"渲染"步骤(下面附带截图).
渲染步骤中发生了什么?是将.aspx转换为html发送给客户端的阶段吗?有什么地方我可以添加Miniprofiler.Current.Step()
,看看它为什么慢?
该应用程序是.NET4.5上的MVC4,带有.aspx渲染引擎.
编辑:
控制器动作只是标准的MVC内容:
public ActionResult Index()
{
ViewData["foo"] = GetFoo();
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
ASPX视图是基本的东西,如:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<p><% ViewData["foo"] %></p>
<% Html.RenderPartial("Something", Model) %>
</asp:Content>
Run Code Online (Sandbox Code Playgroud) 现在已经发现SSL 3容易受到POODLE攻击:
System.Web.Services.Protocols.SoapHttpClientProtocol在连接到任何https Uri时使用的是什么版本的SSL/TLS?
我使用SoapHttpClientProtocol连接到几个第三方SOAP API.其中一个已经表示他们将阻止任何使用SSL 3的请求.但SoapHttpClientProtocol是.Net核心框架的一部分(使用4.5),因此它使用的SSL版本或如何覆盖版本并不明显.
请注意,此问题与System.Net.WebRequest支持哪些版本的SSL/TLS不重复?.我使用了几个API,一些是REST(另一个问题是针对那些),有些是SOAP(这个问题适用于那些)
我正在编写一个C#程序来显示PS3的CPU/GPU温度.有一个连接按钮.这非常好,它向我展示了Temp.来自我的PS3的CPU/GPU.
现在我已经实现了一个"刷新"按钮,它启动所有x秒的计时器来执行此操作:
public void get_psdata()
{
//Get data from PS3
cputemp = PS3.GetTemperatureCELL();
gputemp = PS3.GetTemperatureRSX();
psversion = PS3.GetFirmwareVersion();
psversiontype = PS3.GetFirmwareType();
//Set data into Var
L_cputemp_show.Text = cputemp;
L_gputemp_show.Text = gputemp;
L_firmware_show.Text = psversion;
L_type_show.Text = psversiontype;
//Update Label
L_cputemp_show.Refresh();
}
Run Code Online (Sandbox Code Playgroud)
所以当我按下连接按钮时,这个"get_psdata"只能在第一次工作.(连接按钮直接启动"get_psdate"功能,而刷新按钮则略有不同,就像您稍后会看到的那样......)
以下是运行get_psdata的代码:
//B_connect, Connect Button
private void b_connect_Click(object sender, EventArgs e)
{
//Connect CCAPI to PS3 if Button clicked
PS3.ConnectTarget(psip);
//Check Connection
if (PS3.SUCCESS(PS3.ConnectTarget(psip)))
{
//Show Status
MessageBox.Show("Connected to: " + psip + "!");
this.L_status_show.Text = "Connected!"; L_status_show.ForeColor …
Run Code Online (Sandbox Code Playgroud) 我正在8 CPU机器上开发单线程应用程序,当发生繁重操作时,CPU利用率如下所示:
.NET框架是否具有将单个线程(自动)的工作划分为其他CPU的功能?
刚刚加入了一个新项目,他们正在使用VC#2008构建一个应用程序.现在,在一个项目下有几个组件和许多文件.我被要求设置一台构建机器来开始每日构建.我被告知要做的第一件事是编写批处理文件来调用csc.exe来手动创建可执行文件而不安装VC#2008.
我是C#的新手,我不知道解决方案.我知道旧的VC++可以为我们创建一个makefile来进行手动构建.VC#2008是否具有类似的功能?任何信息和链接将不胜感激.
如何从计算机名称获取信息并在字符串中设置该位置.
例*
string contents = File.ReadAllText(@"C:\Users\" + Settings.Default.User + "\\Documents\\My vs\\juice.txt");
Run Code Online (Sandbox Code Playgroud)
问题是,我无法使用Setting.Default.User位置,因为该名称不断变化.
我需要那个部分是某种变量,这意味着计算机名称....我不想只是硬编码在我的计算机名称中因为如果我把它放在我的其他计算机上然后显然名称会改变
我试图了解如何将数据插入我的数据库,所以我看了很多教程,我无法理解如何做到这一点.一个教程让我达到了这个目的:
public partial class Register : System.Web.UI.Page{
public string ID, Pass, Email, BDYear, BDMonth, BDDay, FullName;
SqlCommand cmd;
SqlConnection con;
SqlDataAdapter da;
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack){
ID = Request.Form["ID"];
Pass = Request.Form["PW"];
Email = Request.Form["EMAIL"];
BDYear = Request.Form["BDYear"];
BDMonth = Request.Form["BDMonth"];
BDDay = Request.Form["BDDay"];
FullName = Request.Form["FullName"];
cmd = new SqlCommand("INSERT INTO UserInfo (ID, Pass, Email, BDYear, BDMonth, BDDay, FullName) VALUES (ID, Pass, Email,BDYear, BDMonth, BDDay, FullName)");
}
}
}
Run Code Online (Sandbox Code Playgroud)
但它实际上并没有起作用,或者显示它工作的迹象,我想我需要一些人的帮助,告诉我在我的情况下到底要做什么.我不知道这里写的是否正确,但我需要指导.所有变量都根据这些名称在aspx页面中设置.