目前,Google要求您创建一个特定于将从中提供地图的域的API密钥.Google如何执行此操作?我想做同样的事情.
我为我的服务公开了一个API,但希望允许客户端通过javascript而不是从服务器嵌入对API的调用.我可以用一个随机令牌来保护它,当然,任何看客户端机器上的代码的人都很容易欺骗它.
我总是理解这个概念是不可能的,但不知何故谷歌在执行它方面做得很好.
编辑 - 听起来谷歌毕竟没有做过任何惊人的事情.他们的API最有可能仅用于跟踪,而不是真正保证他们的API由具有密钥的人使用.
来自Relational世界的事情显然与Azure Table存储有很大不同.我遇到的第一个主要问题是如何正确存储多对多关系.
例如,我可能有一个系统跟踪他们拥有的用户和书籍.我在SO上找到了另一个帖子,建议在用户上有一个String属性,它基本上存储了用户拥有的Book ID列表.虽然我知道有时这是一种可接受的存储数据的方法,但问题是Azure只允许您在String中存储64KB的数据.这绝对限制了用户可能拥有的书籍数量.
另一种可能的解决方案是拥有重复数据.我可能有一个表存储系统中所有已知的书籍.但是当用户需要与Book关联时,我将Book数据复制到另一个名为OwnedBooks的表中,该表与Book表完全相同,只是它具有OwnedByUserID属性.
有其他可能的解决方案吗?
除了这个问题,在使用Azure表存储时,有没有人对其他模式和实践有任何好的建议?
我见过SaaS应用程序以多种不同的方式托管.跨多个数据库拆分功能和模块是一个好主意吗?例如,将User表放在一个DB上,将功能/ app特定表放在另一个DB上,也可能放在另一个DB中的其他常用共享表中?
architecture database-design saas multi-tenant database-schema
我一直在寻找比较L2S和EF的最新性能基准测试,并且无法使用EF的发布版本找到任何经过测试的调用存储过程.所以,我运行了一些自己的测试,发现了一些有趣的结果.
这些结果看起来是否合适?我应该以不同的方式进行测试吗?
上下文的一个实例,一个sproc的调用:(死链接)
上下文的一个实例,同一个sproc的多次调用:(死链接)
上下文的多个实例,同一个sproc的多次调用:(死链接)
我有很多表使用Lookup/Enum引用来表示大多数列值.例如:
Person Table - PersonID | RaceCode | HairColorCode | HairStyleCode | TeethConditionCode
位置表 - LocationID | SizeCode | ExteriorColorCode | ConditionCode
Race,Size,Color,Condition等之类的东西只是代码查找表的外键引用.此代码表包含其他字段,但对我的问题并不重要.该数据库用于SaaS应用程序,这意味着每个客户端都可以拥有自己的颜色,种族,条件等列表.有些代码是静态的,客户端无法更改.
拥有1个代码表或2种类型的代码表(DynamicCodeTable用于客户定义的代码表和StaticCodeTable用于那些更改的代码表)或者我应该为每种代码类型(RaceCodeTable,HairColorTable,Condition等)提供表格更好吗?
我最担心的是所有sql连接.我正在使用的Person表有20多个这些代码属性.加入20个不同的表VS连接到同一个表20次时,性能是否有差异?拥有多个表意味着每个表都会更小,查找"应该"花费更少的时间.但是拥有一张桌子也很快.有什么建议?
我需要创建由用户管理的照片库服务.我使用Asp.net做了一百万次,但我想知道在使用Asp.net MVC时是否需要做出任何特殊的考虑.
基本上,我将实际图像存储在文件系统上,并将位置存储在将图像链接到特定用户的数据库中.用户图库中的图像不应该被除注册用户的任何人访问.这意味着,我需要以某种方式阻止用户与不是该网站用户的人共享图库中的图像的URL.
在过去,我使用一些通用处理程序执行此操作,该处理程序验证允许请求访问图像资源.我可以使用相同的模式,但使用控制器吗?我在考虑创建一个Photo Controller,只是一个简单的Get动作.这是否需要我有一个View才能显示图像?
我是在正确的轨道上还是有更好的方法来做到这一点?(除了在DB中存储图像)
我有一个控制器动作,它有一个可以为空的DateTime作为来自我表单上的文本框的参数之一.我注意到如果用户在该文本框中输入"blah",那么我将获得DateTime参数的Null值,并自动添加模型错误.在这种情况下,添加的ModelState错误是"值'blah'无效".
我的问题是我的网站支持多种语言,因此我需要本地化此错误.通常我只是验证并自己添加ModelState错误,但在这种情况下我似乎无法摆脱它.如果我为同一个文本框添加另一个ModelState错误,则它不会显示.
在升级到1.8(2012年10月)之前,这是我们在ServiceDefinition中配置站点的方式.
<Site name="Admin" physicalDirectory="..\Company.Admin">
<Bindings>
<Binding name="AdminBindingHttp" endpointName="HttpEndpoint" hostHeader="admin.company.com" />
</Bindings>
</Site>
Run Code Online (Sandbox Code Playgroud)
升级后,我在尝试发布时遇到以下错误.
Error 125 Cannot find the physical directory 'C:\Users\Me\Code\Company.Cloud\bin\Company.Admin' for virtual path Admin/.
Run Code Online (Sandbox Code Playgroud)
我们必须更新physicalDirectory值并再向上移动2个文件夹.
<Site name="Admin" physicalDirectory="..\..\..\Company.Admin">
<Bindings>
<Binding name="AdminBindingHttp" endpointName="HttpEndpoint" hostHeader="admin.company.com" />
</Bindings>
</Site>
Run Code Online (Sandbox Code Playgroud)
似乎1.8之前的Azure在csdef文件的原始位置的上下文中执行,但现在它正在从bin\Release\ServiceDefinition.csdef执行,这是2个更深的文件夹.
我在寻找在线教程时没有成功,该教程专门讨论了与最新SDK版本一起使用的此功能.这是官方的变化吗?我还要提一下,我们同时也升级到VS 2012.
我觉得这个功能一直被忽视.(请参阅缺少.config转换问题).我们很乐意切换到Azure网站,但在SSL/HTTPS可用且预览不可用之前我们无法这样做.
我需要完全URL编码电子邮件地址.
HttpUtility.UrlEncode似乎忽略了某些字符,如!和.
我需要在这样的网址中传递一个电子邮件地址:
/Users/me@example.com/Comments
Run Code Online (Sandbox Code Playgroud)
因为我的WebMethod uri模板如下所示:
[WebGet(UriTemplate = "Users/{emailAddress}/Comments")]
Run Code Online (Sandbox Code Playgroud)
句点会中断WCF,并且不会将电子邮件地址传递给我的REST Web服务方法.删除期间传递的值就好了.我希望有一种方法可以编码所有非字母数字字符,因为消费此服务的所有内容都需要这样做.
编辑
我考虑过使用:
Convert.ToBase64String(Encoding.ASCII.GetBytes("something+me@example.com"))
Run Code Online (Sandbox Code Playgroud)
大多数其他语言有简单的方法将字符串转换为base64吗?我主要担心的是,使用此服务的客户需要使用Java,PHP,Ruby等对电子邮件地址进行编码.
我已经看过关于这个主题的一些问题,但我正在寻找对这两种技术之间性能差异的一些见解.
例如,假设我正在记录事件日志,这些事件将通过特定事件的键/值对字典集进入系统.我将在事件表中记录一个带有基本数据的条目,但我需要一种方法来链接其他键/值数据.我永远不会知道会出现什么样的键或值,因此任何类型的预定义枚举表似乎都是不可能的.
此事件数据将持续流入,因此插入时间与查询时间一样重要.
当我查询特定事件时,我将使用事件上的一些字段以及键/值数据中的数据.对于XML方式,我只需使用Attributes.exists('xpath')语句作为where子句的一部分来过滤记录.
规范化的方法是使用具有基本键和值字段的表,其中包含指向事件记录的外部链接.这看起来干净简单,但我担心涉及的数据量.
.net ×2
asp.net-mvc ×2
azure ×2
performance ×2
saas ×2
api ×1
api-key ×1
architecture ×1
c# ×1
database ×1
google-maps ×1
iis ×1
linq-to-sql ×1
model ×1
multi-tenant ×1
security ×1
sql-server ×1
urlencode ×1
wcf ×1
web-services ×1
xml ×1
xpath ×1