我正在创建一个C#控制台应用程序,它从文本文件中读取文本,将其转换为JSON格式的字符串(保存在字符串变量中),并且需要将JSON请求POST到Web api.我正在使用.NET Framework 4.
我的奋斗是使用C#创建请求并获得响应.什么是必要的基本代码?代码中的注释会很有帮助.到目前为止我得到的是下面的内容,但我不确定我是否走在正确的轨道上.
//POST JSON REQUEST TO API
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("POST URL GOES HERE?");
request.Method = "POST";
request.ContentType = "application/json";
System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
byte[] bytes = encoding.GetBytes(jsonPOSTString);
request.ContentLength = bytes.Length;
using (Stream requestStream = request.GetRequestStream())
{
// Send the data.
requestStream.Write(bytes, 0, bytes.Length);
}
//RESPONSE HERE
Run Code Online (Sandbox Code Playgroud) 我正在SQL表设计器中创建一个新表,我希望列的"默认值或绑定"基于同一个表中另一列的值.所以我希望A列从B列的子字符串中获取它的值.列A是numeric数据类型,B列是varchar.现在我有以下内容,但在屏幕截图2中得到消息......这里有什么问题吗?我也有表达,CONVERT(numeric (2,0), SUBSTRING(col_b,3,2))并给出了同样的信息.
截图1:

截图2:

我在为SSRS中的单元格提供值时遇到问题,该值应该是不同值的总和.我有一个类似于以下屏幕截图的SSRS报告:

我无法获得红色值(11.25美元).我基本上需要根据不同的跟踪#来总结船舶成本.所以有两个不同的跟踪#,一个是5.25美元的船舶成本,另一个是6.00美元,所以红色显示的总数应该是11.25美元.但我无法在SSRS中实现这一点,也无法在SQL查询中找到它.
我在想一个子查询(我知道下面的代码不是有效的SQL):
(SELECT SUM([Ship Cost]) WHERE [Tracking #] IS DISTINCT) AS [Ship Cost]
Run Code Online (Sandbox Code Playgroud)
但我不知道如何写它.
我正在尝试确定文件当前是打开还是使用C#写入.我已经看到类似的SO问题,所有问题都与我的代码类似,它在文件上尝试File.Open.但是当我使用下面的代码运行程序时,我也手动打开文件,我得到"文件当前未锁定"的意外结果.有什么想法/建议/我遗失的任何东西?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading;
namespace TestIfFileAccessed
{
class Program
{
static void Main(string[] args)
{
string path = @"C:\TEMP\testFile.txt";
FileInfo filepath = new FileInfo(path);
if (IsFileLocked(filepath)) {
Console.WriteLine("File is currently locked");
Console.ReadLine();
}
else
{
Console.WriteLine("File is currently NOT locked");
Console.ReadLine();
}
}
public static bool IsFileLocked(FileInfo file)
{
FileStream stream = null;
try
{
stream = file.Open(FileMode.Open, FileAccess.ReadWrite, FileShare.None);
}
catch (IOException)
{
//the file is unavailable because it is: …Run Code Online (Sandbox Code Playgroud) 我想在SqlDataSource SelectCommand中使用下拉列表的选定值.
<asp:DropDownList ID="ddlSelectRole" runat="server" ClientIDMode="Static">
<asp:ListItem></asp:ListItem>
<asp:ListItem>Client</asp:ListItem>
<asp:ListItem>Programming</asp:ListItem>
<asp:ListItem>Guest</asp:ListItem>
</asp:DropDownList>
Run Code Online (Sandbox Code Playgroud)
目前:
<asp:SqlDataSource ID="dsourceProgEmails" runat="server"
ConnectionString="<%$ ConnectionStrings:ProjectConnectionString %>"
SelectCommand="SELECT [Email] + ',' AS [text()] FROM [SiteUsers] WHERE [Role] = 'Programming' FOR XML PATH ('')">
</asp:SqlDataSource>
Run Code Online (Sandbox Code Playgroud)
我想的是:
<asp:SqlDataSource ID="dsourceProgEmails" runat="server"
ConnectionString="<%$ ConnectionStrings:ProjectConnectionString %>"
SelectCommand="SELECT [Email] + ',' AS [text()] FROM [SiteUsers] WHERE [Role] = '" + ddlSelectRole.SelectedValue + "' FOR XML PATH ('')">
</asp:SqlDataSource>
Run Code Online (Sandbox Code Playgroud)
代码隐藏是C#.
我正在尝试根据textarea的输入拆分一个可以用逗号或换行符输入的字符串.我不确定在c#中拆分此字符串的语法.目前我有:
string[] splitString = inputString.Split(','); //WORKS
//string[] splitString = inputString.Split(new string[] { ",","\r\n","\n" }, StringSplitOptions.None); //DOES NOT WORK
Run Code Online (Sandbox Code Playgroud) 我正在对List进行排序,导致异常(FormatException).我认为问题在于其中一个用户在字段值与实际值之间存在空格字符或某些内容.如何忽略此异常并允许其他值进行排序,或者至少不破坏应用程序?
users.Sort((x, y) => DateTime.Parse(y.createdDate).CompareTo(DateTime.Parse(x.createdDate)));
Run Code Online (Sandbox Code Playgroud)
错误: mscorlib.dll中出现"System.FormatException"类型的异常,但未在用户代码中处理
附加信息:字符串未被识别为有效的DateTime.