我有一个简单的web方法
[WebMethod]
public int myWebMethod(string fileName, Byte[] fileContent)
Run Code Online (Sandbox Code Playgroud)
但是,每当我传递一个大于30mb的字节数组时,我都会收到错误:
HTTP错误404.13 - 未找到请求筛选模块配置为拒绝超过请求内容长度的请求.
我的web.config如下:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0"> </compilation>
<authentication mode="Windows" />
<httpRuntime useFullyQualifiedRedirectUrl="true"
maxRequestLength="102400" requestLengthDiskThreshold="102400"
/>
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" />
</system.web>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="104857600"/>
</requestFiltering>
</security>
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我一直在搜索,这个问题最常见的原因是maxAllowedContentLength默认情况下属性为30mb.但是,我已将此设置为100mb,以及maxRequestLength属性httpRuntime.
我无法在任何地方找到解决方案,而不是设置我上面已尝试过的属性之一.有没有我错过的东西?
假设我已经编写了自己的方法来反转列表.
public static void MyReverse<T>(List<T> source)
{
var length = source.Count;
var hLength = length / 2;
for (var i = 0; i < hLength; i++)
{
T temp = source[i];
source[i] = source[length - 1 - i];
source[length - 1 - i] = temp;
}
}
Run Code Online (Sandbox Code Playgroud)
我这样称呼它,它的工作原理.
var fooList = new List<Foo>();
MyReverse(fooList);
Run Code Online (Sandbox Code Playgroud)
如果我想要反转多个列表,我会这样称呼它.
var fooList = new List<Foo>();
var barList = new List<Bar>();
var bazList = new List<Baz>();
MyReverse(fooList);
MyReverse(barList);
MyReverse(bazList);
Run Code Online (Sandbox Code Playgroud)
如果我想要反转任意数量的列表,我会尝试:
public static void Main(string[] args)
{ …Run Code Online (Sandbox Code Playgroud) 我有一个同步转换脚本组件,带有一些输入列和一个额外定义的输出列"ID".ID输出整数(DT_I4)类型.在某些情况下,我希望"ID"从我的脚本输出一个空值.
在其他SSIS组件中为其分配空值,我可以在派生列中使用NULL(DT_I4),但我无法弄清楚如何在脚本中执行此操作.
Row.ID = null;
Run Code Online (Sandbox Code Playgroud)
声称ID不是可以为空的值类型.
我在脚本中使用c#.
有没有办法做到这一点?
编辑:为了使生活更轻松,NULL如果未在脚本中的任何位置使用,"ID"理想情况下将默认输出值Row.ID = ...;
关于索引大量数据的性能问题.我有一个大表(约3000万行),其中4列被索引以便快速搜索.目前我设置了索引(索引?),然后导入我的数据.这大约需要4个小时,具体取决于数据库服务器的速度.首先导入数据然后执行索引构建会更快/更有效吗?
给出格式为的表格
ID Forename Surname 1 John Doe 2 Jane Doe 3 Bob Smith 4 John Doe
你将如何得到输出
Forename Surname Count John Doe 2 Jane Doe 1 Bob Smith 1
对于单个列,我只使用count,但不确定如何将其应用于多个列.
我有一个sql视图,我用它来检索数据.让我们说一大堆产品,这些产品与购买它们的顾客有关.无论链接到多少客户,每个产品的视图应仅返回一行.我正在使用row_number函数来实现这一点.(此示例已简化,通用情况将是一个查询,其中应该只为某列X的每个唯一值返回一行.返回哪一行并不重要)
CREATE VIEW productView AS
SELECT * FROM
(SELECT
Row_number() OVER(PARTITION BY products.Id ORDER BY products.Id) AS product_numbering,
customer.Id
//various other columns
FROM products
LEFT OUTER JOIN customer ON customer.productId = prodcut.Id
//various other joins
) as temp
WHERE temp.prodcut_numbering = 1
Run Code Online (Sandbox Code Playgroud)
现在假设此视图中的总行数约为100万,而从productView运行select*需要10秒.从productView执行查询,例如select*,其中productID = 10需要相同的时间.我相信这是因为查询得到了评估
SELECT * FROM
(SELECT
Row_number() OVER(PARTITION BY products.Id ORDER BY products.Id) AS product_numbering,
customer.Id
//various other columns
FROM products
LEFT OUTER JOIN customer ON customer.productId = prodcut.Id
//various other joins
) as temp
WHERE prodcut_numbering …Run Code Online (Sandbox Code Playgroud) 我有以下非常简单的正则表达式,它匹配字符串中的HTML标记.我有不区分大小写的选项集,因此标记的大小写无关紧要.但是,当设置'compiled'选项时,似乎忽略'IgnoreCase'选项.
示例代码:
string text = "<SPAN>blah</SPAN><span>blah</span>";
Regex expr1 = new Regex("</*span>", RegexOptions.IgnoreCase);
Regex expr2 = new Regex("</*span>", RegexOptions.IgnoreCase & RegexOptions.Compiled);
MatchCollection result1 = expr1 .Matches(text);
//gives 4 matches- <SPAN>,</SPAN>,<span> & </span>
MatchCollection result2 = expr2 .Matches(text);
//only gives 2 matches- <span> & </span>
Run Code Online (Sandbox Code Playgroud)
有谁知道这里发生了什么?
假设我有一个包含人名和他们的起源城市的对象.
public class personDetails
{
public string City;
public string Name;
}
Run Code Online (Sandbox Code Playgroud)
我有一个列表,添加了以下条目.
Name City
John | London
Jane | London
Tom | New York
Bob | New York
Fred | New York
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是所有可能的名称组合,按城市分组.
John Tom
John Bob
John Fred
Jane Tom
Jane Bob
Jane Fred
Run Code Online (Sandbox Code Playgroud)
如果通过使用以下代码事先知道组的数量,我可以这样做
List<personDetails> personList = new List<personDetails>();
//populate list
var groupedPersons = personList.GroupBy(c => c.City);
foreach (var item1 in groupedPersons[0])
{
foreach (var item2 in groupedPersons[1])
{
Console.WriteLine(item1.Name + " " + item2.Name);
}
} …Run Code Online (Sandbox Code Playgroud) 我有下面的代码,它将字符串前缀到字符串数组的每个成员的开头.即.以"z"为前缀的["a","b","c"]变为["za","zb","zc"].
private string[] Prefix(string[] a, string b) {
for(int i = 0;i < a.Length;i++) {
a[i] = b + a[i];
}
return a;
}
Run Code Online (Sandbox Code Playgroud)
该功能工作正常(虽然如果有更好的方法来做到这一点,我很高兴听到它),但我在传递参数时遇到问题.
string[] s1 = new string[] {"a","b"};
string[] s2 = Prefix(s1,"z");
Run Code Online (Sandbox Code Playgroud)
现在据我所知,我正在通过值传递s1.但是,当前缀功能已经完成,S2和S1具有相同的值["ZA" ZB"],或S1已按引用传递.我确信你必须显式声明在C#这种行为,并且很迷茫.
给出一张表
Name Age Bob 30 Paul 35 John 35
和一份声明
select * from table ORDER BY Age DESC
Run Code Online (Sandbox Code Playgroud)
结果表的排序是什么?
Name Age Paul 35 John 35 Bob 30
要么
Name Age John 35 Paul 35 Bob 30
或未定义的行为?
我有一个简单的对象格式
class MyObject {
public string foo;
public string bar;
}
Run Code Online (Sandbox Code Playgroud)
我有一个这些对象的列表,其中'foo'的值是唯一的,而'bar'的值不是.例如 - 想象一下值如下
我正在寻找将这些项目组合起来,如下所示:a Dictionary<string,List<string>具有独特的"bar"键,以及List<string>它们相关的"foo"值.
我可以用一个相当简单的循环来做到这一点 -
Dictionary<string,List<string>> result = new Dictionary<string,List<string>>();
myObjectList = new List<MyObject>();
foreach (MyObject obj in myObjectList)
{
if (result.ContainsKey(obj.bar))
{
result[obj.bar].Add(obj.foo);
}
else
{
result.Add(obj.bar,new List<string> {obj.foo});
}
}
Run Code Online (Sandbox Code Playgroud)
但我正在努力学习如何正确使用LINQ,似乎有一个优雅的解决方案使用它.使用LINQ的正确方法是什么?