我遇到了一个问题我提交了一个包含小数据的简单表单,当我在console选项卡中检查时,ajax的URL似乎正在工作但是在处理完ajax之后它将发出错误警告并将其重定向到我的主页并从控制台选项卡我有这个weird error:
未捕获的异常:内存不足
在我的ajax中,我只有这个简单的代码:
$("#add-comment").on('click', function() {
var id = $('input[name=\'review_id\']').val();
var customer_id = $('input[name=\'customer_id\']').val();
var $comment = $('textarea[name=\'user_comment\']').val();
var sample = "test";
$.ajax({
url: 'index.php?route=product/product/writeSubComment',
type: 'post',
dataType: 'json',
data: { text: sample },
beforeSend: function() {
},
success: function(data) {
console.log(data.test);
},
error: function() {
alert('ERROR!!!');
}
});
});
Run Code Online (Sandbox Code Playgroud)
在我的PHP控制器中,我有这个功能
public function writeSubComment() {
$json = array();
$json['test'] = $this->request->post['text'];
$this->response->addHeader('Content-Type: application/json');
$this->response->setOutput(json_encode($json));
}
Run Code Online (Sandbox Code Playgroud) 我正在使用VS2013中新的MVC 5模板附带的ASP.NET Identity.我已配置外部登录提供商,以便人们可以使用Google,Facebook或Microsoft注册.但是,我仍然希望获得人们的电子邮件地址(例如,通知,更新等).
默认情况下,它app.UseGoogleAuthentication()还会请求用户的电子邮件地址.对于Facebook,我创建了一个新的FacebookAuthenticationOptions类实例,并添加了以下范围:facebook.Scope.Add("email").这也有效.
我在使用Microsoft帐户的人收到电子邮件时遇到问题.它MicrosoftAccountAuthenticationOptions也有一个Scope属性,但添加email似乎不起作用.在文档中,我看到有一个范围,wl.emails但它返回一组电子邮件地址,我不确定这是否email与Facebook 等效.
有人建议如何在验证时将电子邮件地址作为索赔吗?
出于某种原因,我的DevStorage帐户已停止工作.我400 Bad Request对DevStorage(Blob和Table)的每个请求都收到错误.不过,我可以使用Azure Storage Explorer浏览DevStorage.
这真的很奇怪,因为我不知道改变环境的任何东西.
我重新安装了Azure SDK 2.1(2013年7月).即使在干净安装后,它也无法正常工作.当我将云服务部署到Windows Azure时,它可以正常工作.在模拟器中运行它不会.
我实际上使用与连接样本相同的代码,但无论如何我都会发布它.
// Storage account
var storageAccount = CloudStorageAccount.Parse(
CloudConfigurationManager.GetSetting("StorageConnectionString"));
// Blob client
var blobClient = storageAccount.CreateCloudBlobClient();
// Container
var cloudContainer = blobClient.GetContainerReference(container);
cloudContainer.CreateIfNotExists();
Run Code Online (Sandbox Code Playgroud)
StorageConnectionString是UseDevelopmentStorage=true.任何帮助将非常感激!
我们在Azure上运行一个Web应用程序(2个实例),由SQL Azure数据库支持.在任何给定时间,有50-150名用户使用该网站.数据库以S2性能级别运行.DTU平均约为20%.
但是,每天有几次我突然在日志中出现数百个错误,超时,如下所示:
执行命令定义时发生错误.有关详细信息,请参阅内部异常
等待操作超时.
超时已过期.操作完成之前经过的超时时间或服务器没有响应.尝试连接到路由目标时发生此故障.尝试连接到原始服务器时花费的持续时间是 - [Pre-Login] initialization = 1; 握手= 21; [登录]初始化= 0; 认证= 0; [登录后]完成= 1;
我们使用EF6进行默认命令超时的查询.我已经配置了这个执行策略:
SetExecutionStrategy("System.Data.SqlClient",
() => new SqlAzureExecutionStrategy(10, TimeSpan.FromSeconds(15)));
Run Code Online (Sandbox Code Playgroud)
数据库(总共约15GB)被严格索引.这些错误遍布整个地方,通常在1-2分钟内就会发生几十到几百个.
我可以采取哪些措施来防止这种情况发生?
我想知道是否可以在网站1上验证ASP.NET身份用户令牌,这是在网站2上生成的.
在我的例子中,两个网站实际上使用相同的UserManager,这是在两个网站使用的程序集中定义的.Startup.Auth.cs这两个网站是同一性的.但是,在第一个站点上生成的令牌无法在另一个站点上验证.
第一个网站上用于生成令牌的代码:
string userId = User.Identity.GetUserId();
var manager = HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
string token = await manager.GenerateUserTokenAsync("SomePurpose", userId);
Run Code Online (Sandbox Code Playgroud)
然后作为查询参数传递给其他网站:
var manager = HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
if (await manager.VerifyUserTokenAsync(userId, "SomePurpose", token))
{
// Do something
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,验证始终失败.如果我在生成它的同一站点上验证令牌,它就会通过.
以下是令牌提供程序的分配方式ApplicationUserManager(在运行时options.DataProtectionProvider为类型CallDataProtectionProvider):
var dataProtectionProvider = options.DataProtectionProvider;
if (dataProtectionProvider != null)
{
manager.UserTokenProvider =
new DataProtectorTokenProvider<UserProfile>(dataProtectionProvider.Create("SomeName"));
}
Run Code Online (Sandbox Code Playgroud)
这种行为是故意还是我做错了什么?
作为ASP.NET MVC4项目的一部分,我需要能够读取和写入一些XML文件.我无法找到/访问我需要的文件.
我已经创建了一个演示项目,我已经添加了一个/Documents包含一些XML文件的文件夹.
所以在同一个项目中我有一个/Classes我的类的文件夹,应该使用它来读取XML文件XDocument.load().
这是我想做的(以及我认为它应该如何工作):
string path = "/Documents/test.xml"; // Doesn't work
XDocument xml = XDocument.load(path);
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用.不是"/ Documents","Documents"或"〜/ Documents".提供完整路径有效,但如果要在其他环境中部署网站则不是很有用.
string path = "D:/Projects/Demo/Demo/Documents/test.xml"; // Works
XDocument xml = XDocument.load(path);
Run Code Online (Sandbox Code Playgroud)
有什么建议我如何使用某种相对路径访问文件?