我有一个SQL Azure数据库服务器,我需要在数据库之间进行查询,但无法弄清楚如何实现这一目标.
这是我的数据库的结构:
在Database.A中,我有一个需要从Database.B中检索数据的存储过程.通常情况下,我会引用数据库,SELECT * FROM [Database.B].[dbo].[MyTable]
但在SQL Azure中似乎不允许这样做.
Msg 40515, Level 15, State 1, Line 16
Reference to database and/or server name in 'Database.B.dbo.MyTable' is not supported in this version of SQL Server.
有没有办法在数据库端执行此操作?
在最终版本中,数据库A和C都需要来自数据库B的数据.
我有一个新的MVC 4应用程序与一个相当基本的视图/控制器.关联的模型包含一些我已映射到隐藏表单字段的属性.当Page第一次渲染时(例如通过HttpGet Action),它看起来都很好.但是,当通过选择"提交"按钮对表单进行"发布"时,呈现给"操作"的结果模型不再设置"隐藏"字段值.这是细节的演练.
以下是模型的示例:
public class Application
{
public bool ShowSideBars { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这是最初的Controller*Action*(看起来工作正常):
[HttpGet]
public ActionResult Application()
{
var model = Request.ParseFromQueryString<Application>();
model.ShowSideBars = true;
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
这将映射到View,如下所示:
<fieldset>
@Html.HiddenFor(m => m.ShowSideBars)
...
</fieldset>
Run Code Online (Sandbox Code Playgroud)
这会导致在fieldset中呈现以下标记:
<input data-val="true" data-val-required="The ShowSideBars field is required." id="ShowSideBars" name="ShowSideBars" type="hidden" value="True" />
Run Code Online (Sandbox Code Playgroud)
注意:我当然希望我知道为什么MVC决定在我没有按要求标记时添加'... field is required'内容,但那是另一个问题
这是在提交表单时调用的Action.此时,上述属性将不再设置为" true ".
[HttpPost]
public …
Run Code Online (Sandbox Code Playgroud) 我一直在使用针对Windows Live和Google的Azure ACS,它一直运行没有任何问题.昨晚我们将实例从1个运行实例扩展到3个,从那以后人们在访问我们的网站时报告了问题.我们已将此跟踪到以下异常情况,该异常情况经常发生.
我们假设我们的配置中存在问题,但不确定我们缺少什么.我们设置机器密钥......
<machineKey decryption="AES" decryptionKey="F7_SOMETHING_SOMETHING_FA" validation="SHA1" validationKey="63_SOMETHING_SOMETHING_BF" />
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释这个问题吗?
System.InvalidOperationException: ID1073: A CryptographicException occurred when attempting to decrypt the cookie using the ProtectedData API (see inner exception for details). If you are using IIS 7.5, this could be due to the loadUserProfile setting on the Application Pool being set to false. ---> System.Security.Cryptography.CryptographicException: Key not valid for use in specified state.
at System.Security.Cryptography.ProtectedData.Unprotect(Byte[] encryptedData, Byte[] optionalEntropy, DataProtectionScope scope)
at Microsoft.IdentityModel.Web.ProtectedDataCookieTransform.Decode(Byte[] encoded)
--- End of inner exception stack trace …
Run Code Online (Sandbox Code Playgroud) 我有一个用例,当前队列长度低于指定值时,我需要对选定数量的消息进行排队.由于我在Azure中运行,我正在尝试使用该RetrieveApproximateMessageCount()
方法来获取当前的消息计数.每次我打电话给我都会得到一个例外陈述StorageClientException: The specified queue does not exist.
.以下是对我所做的事情的回顾:
在门户中创建了队列,并已成功将消息排入其中.
在门户中创建存储帐户,它处于创建/联机状态
编码查询如下(使用http和https选项):
var storageAccount = new CloudStorageAccount(
new StorageCredentialsAccountAndKey(_messagingConfiguration.StorageName.ToLower(),
_messagingConfiguration.StorageKey), false);
var queueClient = storageAccount.CreateCloudQueueClient();
var queue = queueClient.GetQueueReference(queueName.ToLower());
int messageCount;
try
{
messageCount = queue.RetrieveApproximateMessageCount();
}
catch (Exception)
{
//Booom!!!!! in every case
}
// ApproximateMessageCount is always null
messageCount = queue.ApproximateMessageCount == null ? 0 : queue.ApproximateMessageCount.Value;
Run Code Online (Sandbox Code Playgroud)我已经确认名称是正确的,没有特殊字符,数字或空格,并且生成的queue
Url看起来好像是基于API文档正确形成的(例如http://myaccount.queue.core.windows.net/myqueue)
任何人都可以帮助阐明我做错了什么.
编辑
我已经确认使用MessageFactory
我可以创建一个QueueClient
然后成功排队/出列消息.当我使用CloudStorageAccount
队列时从不存在,因此计数和GetMessage例程永远不会工作.我猜这些不是一回事??? 假设,我是对的,我需要的是测量服务总线队列的长度.那可能吗?
当我尝试从服务总线检索消息时,我在Windows Azure中遇到以下异常.
Microsoft.ServiceBus.Messaging.ServerBusyException:请求已终止,因为实体正在受到限制.请等待10秒钟再试一次
调用Receive
方法后发生异常:
QueueClient queueClient = _messagingFactory.CreateQueueClient(queueName);
var brokeredMessage = queueClient.Receive(TimeSpan.Zero);
Run Code Online (Sandbox Code Playgroud)
这是可配置的还是我对消息总线提出了很多要求?
今天,我使用Visual Studio 2010性能分析器分析了我的一个C#应用程序.具体来说,我正在对" 并发 " 进行概要分析,因为看起来我的应用程序应该具有更多的容量然后才能进行演示.分析报告显示,线程在同步状态下花费了大约70-80%的时间.
说实话,我不确定这意味着什么.这是否意味着应用程序遭受了锁定状态?
对于上下文...有大约30个+长时间运行的线程绑定到单个AppDomain(如果这很重要)并且一些线程非常繁忙(例如while(true) { _waitEvent.WaitOne(0); //do stuff }
).
我意识到这是一个相当模糊的问题......我想我正在寻找关于线程同步状态含义的一些说明.太多了,为什么?~75%真的很糟糕吗?我有太多线程吗?或者我应该开始寻找其他领域?
c# concurrency performance multithreading micro-optimization
在过去的几天里,我们开始收到Azure发来的大量电子邮件,内容如下
学科:
[AUTOSCALE FAILED] - 由于没有可用的指标,service_name的自动调度任务失败
消息正文:
Autoscale has not been able to read any monitoring data ... We recommend monitoring the responsiveness and capacity of your service, to make sure that there are currently enough machines deployed to meet your goals. We will attempt to autoscale as soon as the role instances are available
Run Code Online (Sandbox Code Playgroud)
我们最近没有做出任何更改,所以我们不确定这意味着什么,或者我们是否应采取任何行动.任何人都可以对此有所了解吗?
Azure拥抱弹性缩放的概念,我已经能够通过我的工作者角色来实现这一点.但是,当涉及到我的Web角色(例如MVC应用程序)时,我不确定要监视(或如何)确定何时增加(或减少)运行实例的数量的好时机.我假设我需要监控一个或多个性能计数器,但不知道从哪里开始.
任何人都可以推荐一种最佳实践来评估相对于扩展决策的MVC Web角色实例加载吗?
我们一直在尝试使用 RabbitMQ 服务总线 (v3.3.4),但中央总线不断崩溃。目前我们没有使用任何集群,它托管在 Windows Server 2008 R2 上。我们想找出根本原因,但我们只能找到以下错误。任何人都可以阐明什么吗?如果有什么; 我们能做些什么来找出造成这种情况的根本原因?
注意:大约有 20 个消费者具有大致相同数量的 Topic 订阅。此外,所有客户端都是使用 3.3.4 Rabbit 客户端库的 .NET 4.5。
Version=1
EventType=APPCRASH
EventTime=130658038736577295
ReportType=2
Consent=1
ReportIdentifier=7f93ccd8-9cbe-11e4-ae00-000c29c08139
IntegratorReportIdentifier=7f93ccd7-9cbe-11e4-ae00-000c29c08139
Response.type=4
Sig[0].Name=Application Name
Sig[0].Value=erl.exe
Sig[1].Name=Application Version
Sig[1].Value=0.0.0.0
Sig[2].Name=Application Timestamp
Sig[2].Value=5343035d
Sig[3].Name=Fault Module Name
Sig[3].Value=MSVCR100.dll
Sig[4].Name=Fault Module Version
Sig[4].Value=10.0.30319.1
Sig[5].Name=Fault Module Timestamp
Sig[5].Value=4ba220dc
Sig[6].Name=Exception Code
Sig[6].Value=40000015
Sig[7].Name=Exception Offset
Sig[7].Value=00000000000760d9
DynamicSig[1].Name=OS Version
DynamicSig[1].Value=6.1.7600.2.0.0.272.7
DynamicSig[2].Name=Locale ID
DynamicSig[2].Value=1033
DynamicSig[22].Name=Additional Information 1
DynamicSig[22].Value=8d79
DynamicSig[23].Name=Additional Information 2
DynamicSig[23].Value=8d79a00078e92d9c3d5d79d4324254fe
DynamicSig[24].Name=Additional Information 3
DynamicSig[24].Value=9af5
DynamicSig[25].Name=Additional Information 4
DynamicSig[25].Value=9af5b20633c279dbf44b04a614c6a1f6
UI[2]=C:\Program Files\erl6.0\erts-6.0\bin\erl.exe
UI[5]=Check …
Run Code Online (Sandbox Code Playgroud) 查看有关在服务中发出 HTTP 请求的Angular 5+指南,我们看到服务的基本模式如下所示:
getTasks(taskId: string): Observable<ITask[]> {
var url = this.baseServiceUrl + 'task/' + taskId;
this.fetchedTasks = this.http.get<ITask[]>(url);
return this.fetchedTasks;
}
Run Code Online (Sandbox Code Playgroud)
一个组件可以如下使用它
getTasks(taskId: string): void {
this.taskService.getTasks(taskId).subscribe(tasks => this.tasks = tasks);
}
Run Code Online (Sandbox Code Playgroud)
使用上面的例子,应该如何修改这个来让我们处理 HTTP 响应代码,例如 400、403、401、404 和 5xx。
简而言之,我们需要调用者了解错误结果、vs、未找到等,以便他们可以处理相关的 UI 问题
azure ×6
asp.net-mvc ×3
c# ×3
acs ×1
angular ×1
azure-queues ×1
concurrency ×1
erlang ×1
performance ×1
rabbitmq ×1
scalability ×1