我是REST的新手,我发现在一些RESTful服务中,他们使用不同的资源URI进行更新/获取/删除和创建.如
我对这个URI命名约定有点困惑.我们应该使用复数或单数来创建资源?决定时应该有什么标准?
我正在构建一个带有服务层的Web应用程序.服务层将使用RESTful设计构建.我们的想法是,未来一段时间我们可能会构建使用与Web应用程序相同的服务层的其他应用程序(iPhone,Android等).我的问题是 - 如何实现登录?我想我无法从更传统的基于动词的设计转变为基于资源的设计.如果我用SOAP构建它,我可能会有一个名为Login的方法.在REST中我应该有一个资源.我很难理解如何为登录构建我的URI.应该是这样的:
http:// myservice / {username}?p = {password}
编辑:前端Web应用程序使用传统的ASP.NET框架进行身份验证.但是,在身份验证过程中的某些时候,我需要验证提供的凭据.在传统的Web应用程序中,我会进行数据库查找.但在这种情况下,我正在调用服务而不是进行数据库查找.所以我需要服务中的一些东西来验证提供的凭据.除了验证提供的凭据之外,我可能还需要在用户成功通过身份验证之后获得有关用户的某些信息 - 例如他们的全名,他们的ID等.我希望这会使问题更加清晰.
或者我没有想到这个正确的方法?我觉得我很难正确地描述我的问题.
科瑞
rest web-services login web-applications restful-authentication
我需要检查多个变量是否具有相同的数据,例如
var x=1;
var y=1;
var z=1;
Run Code Online (Sandbox Code Playgroud)
我想检查x == 1和y == 1 z == 1(它可能是'1'或其他值).而不是这个,是否有任何简短的方法,我可以实现相同,如下
if(x==y==z==1)
Run Code Online (Sandbox Code Playgroud)
这可能在C#中吗?
我最近安装了SQL Server 2008,并选择了排序规则作为区分大小写.我想让它对整个实例不区分大小写(不适用于该实例中的数据库).如果我更改了排序规则,它是否会影响任何现有数据库?如果真是这样,那么是以哪种方式?
我在视图中以下列方式绑定我的模型:
<%=Html.DropDownList("SelectedItem",new SelectList(Model.MyItems,"ItemId","ItemName")) %>
Run Code Online (Sandbox Code Playgroud)
问题是我的项目文本是格式化的文本,在单词之间有空格,如下所示.
#123 First $234.00
#123 AnotherItem $234.00
#123 Second $234.00
Run Code Online (Sandbox Code Playgroud)
我想保留此项文本中的空格,即使它们被添加到DropDownList后也是如此.但不幸的是我的DropDownList显示它们没有空格如下:
#123 First $234.00
#123 AnotherItem $234.00
#123 Second $234.00
Run Code Online (Sandbox Code Playgroud)
当我查看页面的来源时,这些空格是完整的,但在显示中则不是.我试图添加' '而不是空格但是SelectList(MVC框架类)内部方法在将它们作为项目添加到下拉列表之前使用HtmlEncode.
有什么办法可以实现吗?
我在存储过程中遇到了一个有趣的场景(至少对我而言).想有专家的意见和想法.
DECLARE @loopcounter INT
SET @loopcounter=10
WHILE @loopcounter > 0
BEGIN
DECLARE @insidevalue int
IF (@loopcounter%2 = 0)
SET @insidevalue = @loopcounter
PRINT 'Value_' + CAST(@insidevalue AS NVARCHAR) + '_'
SET @loopcounter = @loopcounter - 1
END
Run Code Online (Sandbox Code Playgroud)
我期待这个块将给出如下输出
Run Code Online (Sandbox Code Playgroud)Value_10_ Value_ _ Value_8_ Value_ _ Value_6_ Value_ _ Value_4_ Value_ _ Value_2_ Value_ _
相反,我输出如下:
Value_10_
Value_10_
Value_8_
Value_8_
Value_6_
Value_6_
Value_4_
Value_4_
Value_2_
Value_2_
我想如果我在while块中声明一个变量,那么对于每次迭代,它会将值重置为NULL或默认值(来自c#background).
如果这是设计的那么我的问题是SQLServer如何在块内处理该变量的'DECLARE'语句?是否因为变量已经在内存中而忽略它?
有人可以解释一下这种行为吗?
无论是在C#还是Java中,还是在oops概念之后的任何其他语言中,默认情况下概念都将"Object"作为超类.为什么我们需要将Object作为我们创建的所有类的基类?
当在C#或Java等语言中无法进行多重继承时,如果已经从Object类派生,我们如何从另一个类派生我们的类.这个问题可能看起来很傻,但想知道一些专家的意见.
在SqlServer中,我们可以使用NVarchar(MAX),但这在sqlite中是不可能的.我可以为Nvarchar(?)提供的最大大小是多少?
我正在使用Visual Studio 2015.我正在尝试使用诊断工具,不知何故该窗口始终为空白.该窗口中没有显示任何内容.也没有错误.我尝试使用空IDE,加载项目和调试项目,但在所有情况下它都是完全空白的,只是窗口标题,没有别的.
我已经看到了诊断工具,如其他问题,这个和这个,但我无法找到任何人面临的问题是这样的.
我尝试重新安装VS并通过安装VS 2015 Update 2进行检查,没有任何帮助.
如果有人知道为什么会发生这种情况或者我该怎么做才能找到问题或解决问题呢?
产品版本:带Update2的Visual Studio Enterprise Edition 2015
操作系统:Windows 7企业服务包1
performance profiling debug-diagnostic-tool visual-studio-2015
c# ×4
rest ×2
sql-server ×2
asp.net-mvc ×1
clickonce ×1
collation ×1
comparison ×1
declaration ×1
deployment ×1
equality ×1
java ×1
login ×1
max-size ×1
nvarchar ×1
oop ×1
operators ×1
performance ×1
profiling ×1
razor ×1
resources ×1
scope ×1
sqlite ×1
uri ×1
variables ×1
web-services ×1
winforms ×1