我正在公开一个REST API,只要你做CRUD(创建,更新,删除),它就会非常容易和顺利.但是我有这个Tickets返回一个票证列表(get),一个Ticket/{id}获取特定项目(get)和一个激活方法(put),它将票证状态从未激活更改为激活.
现在我需要让REST'消费者'能够做类似的事情(在ws中会被称为:GetAndActivateRandomTicket(),它让我想知道,应该在REST上描述什么?这是一个帖子? ?get ?.目标是获得随机数量的门票,并将其状态设置为活动状态.类似于获取和放置的东西,但事先不知道放置的{id}.
应该是/ Tickets?activate = true&amount = 5?什么动词?我应该使用动词而不是名词吗?这个问题的"最佳实践"是什么?
谢谢.
通过 REST 将 100,000 条记录从应用程序的一部分发送到另一台服务器上该应用程序的另一部分是一种好方法。
我正在考虑在一个 POST 请求中发送 PKEY 数据,然后通过 PUT 批量填充每条记录。尽管如此,我仍然不清楚如何正确地做到这一点。
有3个问题:
a) 建议的方法可以吗?最佳实践怎么样?b) 最好先发个帖子然后再贴?c) 每个请求执行一次(意味着 100,000 个请求)或通过内容长度检查数据或......什么?:D
提前致谢。巴特
有这个代码,我不明白为什么如果在finally块中分配变量不理解它将始终被分配.我想我错过了一个无法分配货币的有效选项.如果你知道,理解为什么会很棒.非常感谢!
谢谢!
CurrencyVO currency;
try
{
if (idConnection.HasValue && idConnection != 0)
{
currencyConnection = client.GetConnection(idConnection.Value);
model.Connection = currencyConnection;
}
else
{
int providerUserKey = (int)Models.UserModel.GetUser().ProviderUserKey;
currencyConnection = client.GetConnection(providerUserKey);
}
currency = model.Currencies.SingleOrDefault(c => c.IdCountry == currencyConnection.idcountry) ?? new CurrencyVO();
}
catch
{
currency = new CurrencyVO();
}
finally
{
model.PublishedContainer.Currency = currency;
}
Run Code Online (Sandbox Code Playgroud)
finally块上发生错误.如果我把它从finally块中取出来像这样:
} catch {
currency = new CurrencyVO();
}
model.PublishedContainer.Currency = currency;
Run Code Online (Sandbox Code Playgroud)
它工作正常.
给出以下示例:
string amountDisplay = presentation.Amount == 1 ? "" : String.Format("{0} x ", presentation.Amount);
Run Code Online (Sandbox Code Playgroud)
无论如何使用String.Format所以它的格式取决于属性,而不必做参数的'值'的条件?
另一个用例:
String.Format("({0}) {1}-{2}", countryCode, areaCode, phonenumber);
Run Code Online (Sandbox Code Playgroud)
如果我只有phonenumber,我最终会得到类似"()-5555555"的东西,这是不可取的.
另一个用例:
String.Format("my {0} has {1} cat[s]", "Aunt", 3)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,如果值> 1,我想在[]中包含s.
是否有任何String.Format的黑色'语法'根据参数值删除代码部分或null?
谢谢.
在线使用tfs我有一个映射到C:\ Work
我有一些目录,我不想被版本控制,我让他们不受源代码控制.问题是VS 2013将它们显示为检测到的变化.这是我想永远不会"监视"这些文件夹的临时文件夹(如EmailPickup).有没有办法做到这一点,所以Visual Studio停止建议我检测到包含的变化?
有这个扩展
public static bool In<T>(this T t, params T[] values)
{
return values.Contains(t);
}
Run Code Online (Sandbox Code Playgroud)
希望它接受IEnumerable并在扩展内部转换为数组,但我不知道如何使用params关键字.
试过:
public static bool In<T>(this T t, params IEnumerable<T> values)
{
return values.Contains(t);
}
Run Code Online (Sandbox Code Playgroud)
但这会产生编译时错误:参数数组必须是单维数组
有没有办法让扩展方法支持IEnumerable参数?如果没有,为什么不呢?
我想创建一个Plex Media Server即服务。
这样的想法是,我可以使用Plex Media Center创建媒体服务器,将媒体内容上传并流到我的Media Center(在我的情况下,我尝试使用plex connect,iphone plex应用程序和plex Web应用程序尝试苹果电视)。
我的第一个尝试是在Azure上创建虚拟机,在其中添加一些内容并运行Plex服务器。
这对于480p内容非常有效,不需要转码。即时启动时间以及2个核心虚拟机中的10个并发客户端。当我使用需要转码的1080p时,CPU使用率急剧上升。它几乎没有支持3个simultaneos客户端。另外开始时间很糟糕。在一个8核虚拟机中。
这几乎使我处于一种放弃想法的状态。
但是,随着时间的推移,我读到了有关Azure媒体服务的信息,该服务看起来很有希望。问题是,如何使用Azure媒体服务并使Plex知道该内容?
我将需要使用Azure的自动缩放功能,以便按需提供新实例。
最后,理想情况下,我将希望让不同的客户端访问不同的OR共享媒体,以减少存储和处理时间。
TL; DR
我想摆脱自己的本地Plex Server,将其放在云中,让我的朋友访问我的内容并上传他们的内容,这样我们就可以共享而不依赖单个服务器来处理请求,并且能够自动缩放并共享存储空间。
我今天启动了 VS 2015 来完成一些工作,它说有一个 nuget 更新,所以我更新了它。之后,我创建了一个新项目来测试一些东西,但没有安装 nuget。打开以前的项目并尝试安装来自 nuget 的更新,但全部失败。
大多数错误是项目不可用,但我在尝试不同的东西时无法加载依赖项和其他一些细微差别。
它到处都失败并且无法使用。我怎样才能回到以前的版本?我什至不知道以前是哪个版本以及现在安装了什么。
它确实适用于 MVC6 项目。
System.Runtime.InteropServices.COMException (0x80004005): Project unavailable. ---> System.Runtime.InteropServices.COMException (0x80004005): Project unavailable.
at EnvDTE.Project.get_Object()
at NuGet.PackageManagement.VisualStudio.EnvDTEProjectUtility.GetReferences(Project project)
at NuGet.PackageManagement.VisualStudio.EnvDTEProjectUtility.GetReferencedProjects(Project envDTEProject)
at NuGet.PackageManagement.VisualStudio.VSSolutionManager.<>c__DisplayClass7.<GetDependentEnvDTEProjectsDictionary>b__6()
at Microsoft.VisualStudio.Shell.InvokableAction.InvokeMethod()
at Microsoft.VisualStudio.Shell.InvokableBase.Invoke()
at NuGet.PackageManagement.NuGetPackageManager.<ExecuteNuGetProjectActionsAsync>d__d2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at NuGet.PackageManagement.UI.UIActionEngine.<ExecuteActions>d__1b.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at …Run Code Online (Sandbox Code Playgroud) 使用一个或其他迭代函数的优缺点是什么?
function (int n) {
for (int i = 1; i != n; ++i) { ... }
}
Run Code Online (Sandbox Code Playgroud)
VS
function (int n) {
for (int i = 1; i < n; i++) { ... }
}
Run Code Online (Sandbox Code Playgroud) 我曾尝试尝试Xamarin现场播放器的新功能但是当我扫描QR码时只扫描并没有做任何事情.
在xamarin的网站上写下"网络可能受到严密保护(例如某些公司网络)",阻止了Xamarin Live Player所需的端口.
我怎么能解决这个问题你有什么想法吗?