我计划将一个网站部署到Azure,它将利用Web Jobs.
如果站点扩展为在多个实例上运行,我是否应该期望在所有实例上启动作业(并发运行),或者我是否可以期望一次只运行一个作业实例?可以在Azure中配置吗?
假设我有一个控制某个循环执行的字段:
private static bool shouldRun = true;
Run Code Online (Sandbox Code Playgroud)
我有一个运行的线程,其代码如下:
while(shouldRun)
{
// Do some work ....
Thread.MemoryBarrier();
}
Run Code Online (Sandbox Code Playgroud)
现在,另一个线程可能设置shouldRun为false,而不使用任何同步机制.
据我所知,Thread.MemoryBarrier(),在while循环中调用此函数将阻止我的工作线程获得缓存版本shouldRun,并有效防止无限循环发生.
我对Thread.MemoryBarrier的理解是否正确?鉴于我有可以设置shouldRun变量的线程(这不容易改变),这是一种合理的方法来确保我的循环一旦shouldRun被任何线程设置为false 就会停止吗?
我正在进行MS SQL Server全文搜索查询.我需要转义特殊字符,以便我可以搜索包含特殊字符的特定术语.是否有内置函数来转义全文搜索字符串?如果没有,你会怎么做?
使用当前的.NET Core预览,如何为控制台应用程序编译(发布?)本机二进制文件.我在Mac OS 10.11上.
我做了以下事情:
dotnet new
dotnet restore
dotnet publish
Run Code Online (Sandbox Code Playgroud)
我有点期望"发布"为我构建一个本地二进制文件,但事实并非如此.它将.dll和一些JSON放在发布文件夹中?我应该提到应用程序在使用时运行正常dotnet run.
那么,如何为我的简单控制台应用程序获取本机二进制文件?
我有一个简单的PowerShell脚本来停止进程:
$p = get-process $args
if ( $p -ne $null )
{
$p | stop-process
$p | select ProcessName, ID, HasExited, CPU, Handles
}
else { "No such process" }
Run Code Online (Sandbox Code Playgroud)
如果我尝试停止当前用户未启动的进程; 它适用于Windows Server 2003.但是,在Windows Server 2008(和其他带有用户帐户控制的Windows风格)上,我收到以下错误:
Stop-Process : Cannot stop process "w3wp (5312)" because of the following error: Access is denied
Run Code Online (Sandbox Code Playgroud)
有没有办法解决这个问题,而无需使用提升权限运行PowerShell?如果用户在尝试执行需要提升的操作时,只是出现了UAC提示,那就没问题.
我正在使用Xamarin.Forms并创建了一个ScrollView,它包含一个水平StackLayout.我希望能够水平滚动,所以我设置:
Orientation = ScrollOrientation.Horizontal;
Run Code Online (Sandbox Code Playgroud)
但我没有水平滚动.StackLayout的内容比屏幕宽,我看到内容正在边缘被剪裁.
如何使用Xamarin.Forms实现水平滚动?
我在Swift中使用泛型类和NSCoding(XCode beta 5)时遇到了问题.具体来说,这个示例代码很好地工作:
class Foo : NSObject, NSCoding
{
let bar: String
init(bar: String){
self.bar = bar;
}
func encodeWithCoder(aCoder: NSCoder!){
aCoder.encodeObject(bar, forKey: "bar")
}
required init(coder aDecoder: NSCoder!){
self.bar = aDecoder.decodeObjectForKey("bar") as String
super.init()
}
}
let foo = Foo(bar: "hello, world")
NSKeyedArchiver.archiveRootObject(foo, toFile: "test.dat")
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试相同的代码,并添加一个通用参数; 当我尝试编码对象时; 我收到一个'无法识别的选择器发送到实例'错误:
class Foo<T> : NSObject, NSCoding
{
let bar: String
init(bar: String){
self.bar = bar;
}
func encodeWithCoder(aCoder: NSCoder!){
aCoder.encodeObject(bar, forKey: "bar")
}
required init(coder aDecoder: NSCoder!){
self.bar = aDecoder.decodeObjectForKey("bar") as String …Run Code Online (Sandbox Code Playgroud) 我正在使用LINQ-to-SQL来查询旧数据库的应用程序.我需要调用一个存储过程,它选择一个整数值.无法更改存储过程.
设计者使用此签名创建方法:
private ISingleResult<sp_xal_seqnoResult> NextRowNumber([Parameter(DbType="Int")] System.Nullable<int> increment, [Parameter(DbType="Char(3)")] string dataset)
Run Code Online (Sandbox Code Playgroud)
我希望返回类型为int.如何使用LINQ-to-SQL执行此操作?
我在Azure上有一个MVC网站.我已经编写了一个控制器动作来代替一个资源,它应该返回HTTP 404,但是正文内容应该是一些HTML,我在那里解释了404的原因.这是作为一个标准动作来实现的Response.StatusCode.这在本地工作正常,但是当部署到Azure时,我没有获得我的自定义视图,而只是纯文本中的错误消息.我<customErrors>在Azure上删除了调试,结果相同.
这是部署到Azure时收到的原始响应:
HTTP/1.1 404 Not Found
Cache-Control: private
Content-Length: 103
Content-Type: text/html
Server: Microsoft-IIS/8.0
X-AspNetMvc-Version: 3.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
X-Powered-By: ARR/2.5
X-Powered-By: ASP.NET
Date: Sat, 17 Aug 2013 17:24:19 GMT
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
Run Code Online (Sandbox Code Playgroud)
同样重要的是,如果我删除服务于此的路由,我会得到一个标准的.NET 404错误页面,所以我想我的自定义操作正在运行.行动很简单:
[HttpGet]
public ActionResult LegacyMedia(string originalUrl)
{
ViewBag.OriginalUrl = originalUrl;
return new ViewResult404() {ViewName = "LegacyMedia"};
}
public class ViewResult404 : ViewResult
{
public override void …Run Code Online (Sandbox Code Playgroud) 我正在使用带有SoS扩展的WinDbg调试来自生产服务器的hangdump.
其中一个堆栈中有一个字符串参数,我需要知道它的值.但是,它是一个相当大的字符串,WinDbg在我使用时不会打印它DumpObj.这是从DumpObj以下输出:
0:036> !do 00000001b30d8668
Name: System.String
MethodTable: 0000064278436728
EEClass: 000006427803e520
Size: 5125300(0x4e34b4) bytes
(C:\WINDOWS\assembly\GAC_64\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll)
String: <String is invalid or too large to print>
Fields:
MT Field Offset Type VT Attr Value Name
000006427843d998 4000096 8 System.Int32 1 instance 2562638 m_arrayLength
000006427843d998 4000097 c System.Int32 1 instance 2562637 m_stringLength
0000064278438170 4000098 10 System.Char 1 instance 3c m_firstChar
0000064278436728 4000099 20 System.String 0 shared static Empty
>> Domain:Value 0000000000163260:000000007fff0370 00000000001a6760:000000007fff0370 <<
0000064278438020 400009a 28 System.Char[] 0 shared …Run Code Online (Sandbox Code Playgroud) azure ×2
c# ×2
.net ×1
.net-4.0 ×1
.net-core ×1
asp.net-mvc ×1
debugging ×1
dotnet-cli ×1
dump ×1
generics ×1
linq-to-sql ×1
powershell ×1
sos ×1
sql-server ×1
swift ×1
uac ×1
windbg ×1
xcode6 ×1
xcode6-beta5 ×1