我想检查变量是JavaScript中的数组还是单个值.
我找到了一个可能的解决方案......
if (variable.constructor == Array)...
Run Code Online (Sandbox Code Playgroud)
这是最好的办法吗?
以RESTful方式使用WCF似乎很棒.我很喜欢简单和灵活的大枪,但我也喜欢Urls最终看的方式.我能说什么,我是程序员.
用于检索和编辑资源的简单API与几乎同样简单的一组可能的错误响应相匹配,我不禁感到要保持一种"纯粹的"RESTful方法,我可能会嗤之以鼻,不顾一切,或者更具体地说,我的网络服务消费者的鼻子.我可能是错的,但似乎没有很多我可以使用的Http错误代码,也没有办法传回自定义错误消息.
为了澄清,我说的是正确的异常错误而不是预期的错误.我想实际向用户传达一个问题,以帮助他们确定需要做些什么来纠正它.
我正在考虑的可能选择......
只需使用Http错误代码 - 这似乎对我能够表达的内容过于严格,并且不允许我提供自定义消息.如果我错了,请(!)纠正我.
总是返回Http Success但返回自定义错误对象 - 显然是最灵活但肯定不是最RESTful的.
如果有人能分享这个特定问题的真实世界经验,我将非常感激.
感谢您使用对象StatusDescription
属性的建议OutgoingWebResponseContext
.起初似乎是我可以使用的东西.
我得出的结论是,我上面的第二个选项不适合我.我想坚持Http能给我的东西.
但是,我在使用它时遇到了问题.无论我为此属性提供什么值,它都不会在响应中返回.
我的服务方法看起来像这样
public MyType GetMyTypes(string criteria)
{
try
{
return GetMyTypes();
}
catch (Exception ex)
{
OutgoingWebResponseContext response = WebOperationContext.Current.OutgoingResponse;
response.StatusCode = HttpStatusCode.Forbidden;
response.StatusDescription = "A Big fat error occurred";
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
这是原始响应消息.没有提到自定义消息......
HTTP/1.1 403禁止
服务器:ASP.NET开发服务器/9.0.0.0日期
:Wed,07 Jan 2009 14:01:20 GMT
X-AspNet-Version:2.0.50727
Cache-Control:private
Content-Length:0
Connection:关
这不像我只需要访问客户端上的正确属性.信息根本不是通过链接发送的.
这个StatusDescription
属性实际上做了什么?
我从来没有找到如何设置StatusDescription属性.我最终没有包含任何错误消息,只使用Http状态代码.我选择为我的服务公开Soap和Restful端点,因此客户可以选择他们喜欢使用的 - 简单的Restful消息或相对更丰富的Soap消息.
通过WSS 3.0版本公开的内置Web服务将文件上载到SharePoint服务器上的文档库的最佳方法是什么?
按照两个初步答案......
我们肯定需要使用Web服务层,因为我们将从远程客户端应用程序进行这些调用.
WebDAV方法对我们有用,但我们更愿意与Web服务集成方法保持一致.
还有一个上传文件的网络服务,痛苦但一直有效.
你指的是"复制"服务吗?我们已成功使用此服务的CopyIntoItems
方法.这是仅使用WSS Web服务API将文件上载到文档库的推荐方法吗?
我已将我们的代码发布为建议的答案.
我使用以下两种方法解析了XML ...
但我从来没用过......
谁能告诉我三种替代方案之间的比较效率?
我意识到特定的用法是一个因素,但我只是想要一个粗略的想法.例如,Linq选项是否比其他选项慢得多?
VS2008项目中的子目录主要用于在磁盘上物理表示项目的命名空间结构.每个文件夹都有一个名为"Namespace Provider"的布尔属性,当设置为True时,ReSharper会验证给定类的物理位置是否与逻辑命名空间位置相对应.
有时我不希望将文件夹用作命名空间提供程序,因此我将此属性设置为False,并且ReSharper不执行检查.
此设置不会保存在项目文件中,因此下次打开解决方案时将恢复为默认值True.这不是什么大不了的事,但ReSharper确实会给你很多关于不正确命名空间的警告.
为什么财产价值没有得到保存?
带VS2008 SP1的ReSharper 4.0
resharper code-analysis namespaces visual-studio-2008 visual-studio
我从各种其他相关问题,了解这里,并在这里等等,因为匿名类型与内部访问定义你不能从控制器通过匿名类型对象的视图.View和Controller代码被编译到不同的程序集中,因此尝试使用它会导致此错误...
对象不包含'foo'的定义
这很好,我可以接受,虽然起初很烦人.有足够的建议解决方法来安抚我.
但是,我认为你仍然可以将匿名类型从视图传递到局部视图,因为它们都是视图,它们将在同一个程序集中编译.
Razor查看代码......
@Html.Partial("Partial1", new { foo = "Something", bar = "Something else" })
Run Code Online (Sandbox Code Playgroud)
和"Partial1"的局部视图代码
@model dynamic
<h1>@Model.foo</h1>
<span>@Model.bar</span>
Run Code Online (Sandbox Code Playgroud)
奇怪的是,这个WAS在一个新的MVC项目的开发开始工作,但是当我添加了更多的视图时它就停止了工作,现在我给出了与上面提到的相同的错误.
就好像我已达到一个阈值,在该阈值中视图和局部视图不再编译到同一个程序集中.但我只是在猜测.
我想知道是否有人可以解释这一点.
我对文档库特别感兴趣,但就一般的SharePoint列表而言,任何人都可以回答以下内容......?
我有一个ASP.Net Web表单,其中包含文本框字段和隐藏字段.使用客户端JavaScript动态修改隐藏字段值.发布表单,检查值并重定向到另一个页面都按预期工作.
但是,当我使用浏览器后退按钮显示上一页时,我希望看到所有表单字段仍然填充了已发布的值.
在IE和Firefox中,文本和隐藏输入字段都是这种情况.
在Chrome中,这仅适用于文本字段.隐藏字段的值丢失.
在导航浏览器历史记录时,Chrome是否真的会重新填充动态设置隐藏的表单字段值?
我已经将一个小样本放在一起以证明问题,如果需要可以提供.我想先问问题,看看这是否是众所周知的行为,我必须接受.
我已经实现了一个自定义IParameterInspector
,我想让它为我的服务上的每一个操作执行.
我的理解是IParameterInspector
实现只能用于IOperationBehavior
实现,而实习IOperationBehavior
实现只能用于使用属性来装饰各个操作.
有谁知道我是否可以IParameterInspector
在服务级别注册我的方式,以便它可以执行服务中的所有操作?
sharepoint ×2
wcf ×2
.net ×1
arrays ×1
asp.net-mvc ×1
back-button ×1
c# ×1
decimal ×1
hex ×1
javascript ×1
linq ×1
namespaces ×1
razor ×1
resharper ×1
rest ×1
scalability ×1
variables ×1
web-services ×1
wss ×1
xml ×1
xpath ×1
xslt ×1