最新评论
略览前辈文章,收益,特此感谢!
已经在用Unity了。
我也有点微软洁癖,呵呵,够用就好
[quote]think8848:
@shuangbaojun
[/quote]
我一直被误解以为“get请求请能容纳255字节“,经查资料,
楼主正解:GET的Url长度在不同的浏览器是不同的
IE6.0 :url最大长度2083个字符,超过最大长度后无法提交。
IE7.0 :url最大长度2083个字符,超过最大长度后仍然能提交,但是只能传过去2083个字符。
firefox 3.0.3 :url最大长度7764个字符,超过最大长度后无法提交。
Opera 9.52 :url最大长度7648个字符,超过最大长度后无法提交。
Google Chrome 2.0.168 :url最大长度7713个字符,超过最大长度后无法提交。
@shuangbaojun
我感觉如果需要提交大量数据至服务器的,那么肯定是需要使用POST或者PUT,但如果是请求服务器响应的(类似数据库中的SELECT用法),那么应该是使用GET的,至于GET的安全性问题,似乎是使用POST的一个原因,但这也仅仅是在浏览器的地址栏中不能直接使用POST而已,对于真正需要安全的场景来说,没有多大的意义。就我学习的一些Google的服务而言,他们在请求服务时,差不多都使用了GET,没有遇见使用POST的情况。我还是那个问题,RESTful原则其中有一条就是“统一接口原则”,对于获取数据而言,其统一的接口就是GET;RESTful的另一原则“幂等性”,对于同一个地址的请求,每一次得到的结果都是一样的,如果使用POST去请求一个资料,很难做到所有请求得到的结果都一致,这又与HTTP的原则不符;个人感觉如果是做RESTful服务,还是尽量遵循一般原则好,进而在日常使用HTTP时,尽量遵循HTTP原义比较好;违背原则的使用必然导致接口意义不明,结构紊乱,难以承载规模较大的应用,当然我说的是一般原则,有时为了达到某些目的违反范式也不是不可以。另外,关于您讲“get请求请能容纳255字节”的说法,我没有找到与之相关的资料,就我的了解,GET的Url长度在不同的浏览器下面是不同的,但至少都过了k字节了。
[quote]think8848:
@11ge
能否举个例子呢[/quote]
比如说:如果用get方式请求一篇带上万字小说章节信息异步请求交给后台处理,那么就会出错,原因很简单,因为get请求请能容纳255字节,已经溢出了,所以一般我们都会考虑到post方式请求(还有一个原因是:安全性要比较GET方式要高)
[quote]think8848:
@doublebj
是ASP.NET MVC框架内的类型[/quote]
楼主你QQ多少?我想在线请教你几个关于jqgrid gridtree序列json问题?
楼主你QQ多少?我想在线请教你几个关于jqgrid gridtree序列json问题?
@doublebj
是ASP.NET MVC框架内的类型
JsonResult json = new JsonResult();
json.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
请问一下楼主,这个是你自己写的类?还是第三方的?
@Vincent Yang
是的,这个项目好像是以前使用MVC2创建的,我也是找到ASP.NET官网上的说明才解决这个问题的。
这是个从mvc2升级到mvc3的bug.在mvc3 release说明中提到过了。
There’s a known issue that causes Forms Authentication to always redirect unauthenticated users to ~/Account/Login, ignoring the forms authentication setting used in Web.config. The workaround is to add the following app setting.
http://www.asp.net/learn/whitepapers/mvc3-release-notes
@parabeyond
sorry,FlexGrid我没有用过,所以不敢妄加评论,不过我想比较两个插件,第一是要看功能是否符合自已要求,不一定非要宇宙无敌,自已要的功能都有了就行,第二是文档是否齐全,没有文档就无从下手,而且也不利于推广使用,第三要看是否有扩展功能,万一有一个比较特殊的需求时,能否在现有插件的基础上又快又好的扩展出来,以上就是我个人的意见,仅供参考。
LZ问下 jqGrid 不知道和 FLEXGRID比较有什么好的地方吗
我用的是mvc2,现在我也想用jqgrid中的treegrid,去官网看了···没有关于这方面的demo,而且官网给的demo是编译好的dll,所以拜托能把你的源码发给我研究一下吗?请发邮箱304290567@qq.com
感动呀。我也很纳闷。ds.Tables[0].PrimaryKey = keys;异常,异常信息是这些列不具有唯一值。可是我去存储过程那看了一下,那一行确实是唯一值呀~~我现在在做毕业设计,由于我的无知,一直没有进展…
Re:[原]C#绘制等值线一 基本概念及三角网剖分 think8848 2011-05-27 09:54
@iris初初
不用那么客气,我也是在做项目中遇到了需要绘制等值线才做了这个方面的研究,可能就等值线来说,你比我还要懂的多。在我的项目中,的确不大可能出现我说的那种情况,所以我也根本就没有去处理它,在本文的上下文中,这种可能在理论上是存在的,本来也是希望和大家探讨,也谢谢你的参与。
关于你说的设置主键的问题,你那段代码没有看出来错误,而且MSDN上就是这么举例的,我也做了测试,没有发现问题所在,希望能把发生错误的行,以及异常的详细信息提供才能判断是哪里出了问题。
就绘制等值线的问题,如果有需要,我们可以QQ详谈,其实我也有一些问题需要和人讨论,呵呵。
o,谢谢,我之前对你的算法不是很清楚,就乱加评论了,不好意思。我的专业是地理信息系统,所以对建立三角网这里的算法思想还是比较根深蒂固的。一般都是把已知值的点作为三角网的起点。不过你都已经把它划分成那么小的栅格了,就不要在乎这点误差了。我是一个C#的初学者,现在也在做一个生成等值线的程序,因为对计算机语言太不了解了,所以步步受挫。我现在不知道怎样从dataset中取出一个我ID号我知道那一条记录的想知道那一列的值。我现在用的是这样的语句,float.Parse(ds.Tables[0].Rows.Find("0001")[colName].ToString())但是提示我没有设置主键。按百度到的方法设置主键,
DataColumn[] keys = new DataColumn[1];
keys[0] = ds.Tables[0].Columns["STCD"];
ds.Tables[0].PrimaryKey = keys;
执行的时候总是抛出异常,您能告诉我怎么办么~~
Re:[原]C#绘制等值线一 基本概念及三角网剖分 think8848 2011-05-26 13:13
[quote]iris初初:因为你的算法中已经假设线性均匀变化了呀,你把三角形的每个点都付上值,看看不就知道了~~~就比如说12、8、7,要画10的等值线,那么,7和8这条边上因为线性变化,必然就没有10这个点呀~[/quote]
我的想法是这样的,因为三角剖分时,三角形的三边不是固定的,甚至不是直角三角形(只是在我的实际应用中我肯定是会划分为直角三角形)。假设现在有一个三角形,在三角形的三边上取点,连接这三个点会形成一个等边三角形,而且在这个等边三角形的中心上空有一盏灯(我在做照明设计软件),那么,是不是可以说这三个点的照度肯定是相等的,即三边都有高程值。如图所示:
[img]http://pic002.cnblogs.com/images/2011/1781/2011052613132627.jpg[/img]
图中黄色的圆圈代表灯泡,现在假设只有一个灯泡,不考虑多个灯泡的互相影响,那么在红色等边三角形的外切圆和灯泡是同心圆的情况下,等边三角形三个点上的高程值必然是相同的。
因为你的算法中已经假设线性均匀变化了呀,你把三角形的每个点都付上值,看看不就知道了~~~就比如说12、8、7,要画10的等值线,那么,7和8这条边上因为线性变化,必然就没有10这个点呀~
Re:[原]C#绘制等值线一 基本概念及三角网剖分 think8848 2011-05-26 10:23
[quote]iris初初:你的图四的那个例子举的不对,只能从一个边进一个边出,不可能三角形的三条边上都有值一样的点。举个例子就知道了。[/quote]
能说详细点吗,我还没有明白你的意思。
你的图四的那个例子举的不对,只能从一个边进一个边出,不可能三角形的三条边上都有值一样的点。举个例子就知道了。
Re:[原]C#绘制等值线一 基本概念及三角网剖分 underuwings 2011-05-04 15:58
非常感谢你热心的回答,回头我有空了自己试试~~
Re:[原]C#绘制等值线一 基本概念及三角网剖分 think8848 2011-05-04 15:15
@underuwings
因为我没有把完整代码放出来,所以很多的细节没有说透,其实对于此文我的目的也是希望给大家提供一个使用C#绘制等值线的一个解决方案,并不是提供可以直接使用的组件,主要原因也是因为这是我们公司项目的一部分,我不能把公司的源代码共享出来,希望能得到谅解。也感谢underuwings关注本博客,实际上matrix是另一个类型的二维数组,类型定义如下:
[code=csharp]
public class LuminancePoint
{
/// <summary>
/// 照度值
/// </summary>
public decimal Luminance { get; set; }
/// <summary>
/// X轴坐标
/// </summary>
public decimal X { get; set; }
/// <summary>
/// Y轴坐标
/// </summary>
public decimal Y { get; set; }
}
[/code]
matrix变量定义如下:
LuminancePoint[,] matrix
为啥不直接使用matrix呢,因为这个matrix计算是一个比较耗时的东西,除了需要在绘制等值线时使用外,还有其他的用途,所以我不能直接更改matrix中元素的值,而且在GDI+进行图像绘制时一般都采用float型,另外鉴于“点”对象和边对象以及三角形对象之间的关系,我也不希望把业务对象和UI对象绑的太紧,所以又定义了VPoint对象,相当于把LuminancePoint“复制”了过去。tmpMatrix是存放点的二维矩阵,tmpEdges是存放边的四维矩阵,我使用参数把这两个数组的引用传递到了FindOrCreateXXX方法,在这些方法中,将计算(如果需要计算)好的点和边对象存到数组中。如下所示:
[code=csharp]
private Edge FindOrCreateNewEdge(Edge[, , ,] edges, VPoint[,] points, int x1, int y1, int x2, int y2)
{
if (edges[x1, y1, x2, y2] != null)
{
return edges[x1, y1, x2, y2];
}
else
{
var p1 = points[x1, y1];
var p2 = points[x2, y2];
var edge = new Edge();
edge.P1 = p1;
edge.P2 = p2;
edges[x1, y1, x2, y2] = edge;
return edge;
}
}
[/code]
这种方法我也觉得有点怪怪的,还没有进行整理。
Re:[原]C#绘制等值线二 等值线追踪 underuwings 2011-05-04 12:42
[quote]think8848:
@underuwings
如果真是三个边上同时具有高程值,想想可能的情况,首先根据就近原则,封闭式等值线仅存在在这个三角形内部,如此,每个三角形内部都有条等值线,那等于没有等值线。等值线如果要回到起点也很简单,最少只需要6个点即可,如图
[img]http://pic002.cnblogs.com/images/2011/1781/2011050409184293.jpg[/img][/quote]
谢谢,明白了~
Re:[原]C#绘制等值线一 基本概念及三角网剖分 underuwings 2011-05-04 12:41
var p1 = matrix[x, y]; 这句是给p1点赋值,p1是一个VPoint对象,matirx里面存放的是照度值,是不是仅仅把照度值赋给了p1.value,在FindOrCreateNewPoint(tmpMatrix, x, y, p1, zoomFactor); 中p1.X和p1.Y并没有被赋值,怎么能取得p1点的坐标呢?还是把x,y作为二维数组的索引直接当坐标值赋给了p1?tmpMatrix是临时存放4个点的照度值的矩阵,是在哪儿给它赋值的呢?
Re:[原]C#绘制等值线二 等值线追踪 think8848 2011-05-04 09:20
@underuwings
如果真是三个边上同时具有高程值,想想可能的情况,首先根据就近原则,封闭式等值线仅存在在这个三角形内部,如此,每个三角形内部都有条等值线,那等于没有等值线。等值线如果要回到起点也很简单,最少只需要6个点即可,如图
[img]http://pic002.cnblogs.com/images/2011/1781/2011050409184293.jpg[/img]
Re:[原]C#绘制等值线二 underuwings 2011-05-04 09:02
封闭式的等值线,起点所在的三角形,剩余的两条边上应该同时具有指定高程值吧,不然等值线怎么回到起点呢?
Re:[原]C#绘制等值线一 think8848 2011-05-04 08:57
@underuwings
这里的x,y不是坐标,而是tmpP1所在二维数组中的索引,坐标值是在p1.X和p1.Y中的,x +1也是正确的,为什么不是x + step呢?原因是step是我们从原始数组中取点时的间隔,比如说我们从原始数组中取出了值1,3,5,7...点,那么在tmpMatrix中,值1和值3是紧挨着的,取值3时可以通过值1的索引x + 1得到,如果你x + step的话,这时step为2,则使用x + step就会取到值5了
Re:[原]C#绘制等值线一 underuwings 2011-05-04 08:49
前面都看懂了,就这里tmpP1 = this.FindOrCreateNewPoint(tmpMatrix, x, y, p1, zoomFactor); 不太明白,参数中的x,y,不就是p1点的坐标吗?tmpP2 = this.FindOrCreateNewPoint(tmpMatrix, x + 1, y, p2, zoomFactor); 里面的x+1是不是应该为x+step?
Re:[转]MVC 使用WCF Syndication Yick.Zhao(赵一村) 2011-03-14 17:32
好