只要用户打开浏览器窗口,哪种最简单,最不显眼的方式可以使ASP.NET会话保持活动状态?是时候调用AJAX吗?我想阻止以下情况:有时候用户长时间打开窗口,然后输入内容,并且提交时不再有效,因为服务器端会话已过期.我不希望在服务器上增加超过10分钟的超时值,因为我希望关闭会话(通过关闭浏览器窗口)快速超时.
建议,代码示例?
这里有一个很好的问题: 如何将Web API添加到现有的ASP.NET MVC 4 Web应用程序项目中?
不幸的是,这还不足以解决我的问题.我已经尝试了两次,以确保我没有做错任何事.我右键单击"控制器"并添加了项目"Web API 2 Controller with actions,using Entity Framework",其中我选择了我的模型类和db上下文.一切都很顺利...但仍然...每次我试图访问/ api/Rest我得到404错误(我的控制器的名称是RestController).
任何人都可以解释HTTP-GET和HTTP-POST之间的区别吗?为什么人们说HTTP-POST在安全性方面较弱?
我只是想知道C#中是否有foreach oneliner,就像if oneliner一样.(exp) ? then : else
我有两个DataBases
(DB1
&DB2
:两个DB都是相同的,DB2
是从备份中创建的DB1
).当我SP1
在两者上运行存储过程时DBs
,大约需要2秒才能给出select
两个输出(语句)DBs
.
现在的问题是,当我DBs
从一个service
并尝试使用DataAdapter.Fill
方法指出这些时,它给我不同的时间(54-63秒开启DB1
和42-44秒开启DB2
)两者DBs
一致.注意到我使用相同的服务来指出DBs
它不能是服务行为/性能.现在我的问题是:
这可能是什么原因?欢迎提出任何建议,我应该研究什么?
帮助信息:
两个数据库都处于不同的
servers
(相同的配置),但由于执行SP
打开SQL Server Management Studio
时间相同,DBs
因此我排除了DB
server
性能的可能性.网络延迟可能是一个因素但是极不可能,因为两者servers
都在同一网络上并且实际上位于同一物理位置.这是我最后检查的选项.其他一些服务正在使用
SQLDependency
ONDB1
.这一直在填补DataAdapter(s)
,这可能是我的DataAdapter
fill
方法减慢的原因 吗?(我猜不太可能)
根据以下评论的要求,代码填写了DataSet
:
PS:上面提到的时间是上图中突出显示的代码行的执行时间.
在过去的几年里,我一直在使用ASP.Net MVC.我真的习惯使用这种模式开发.关于前端,到目前为止,JQuery已经足以满足我的需求.
然而,随着时间的推移,我越来越多地听到AngularJS是要走的路,并且JQuery变得"有点"过时了.
这就是为什么我一直在研究将AngularJS集成到我当前项目中的一些选项.有一些重要的事实需要考虑:
对于SPA(单页面应用程序)而言,Angular比对非SPA更有意义;
Angular是一个框架,JQuery是一个库;
在ASP.Net MVC范例中,我们通常向客户端发送纯HTML.在Angular项目中,数据通常通过JSON发送给客户端;
Angular和Razor彼此不顺利.Razor是一种抽象,可以帮助程序员呈现复杂(有时不那么复杂)的HTML.对于angular,视图不会在服务器端创建,而是在客户端从JSON传输的模型创建(例如);
Angular与Web API(或任何其他Web服务)密切配合,而JQuery与ASP.Net MVC控制器密切配合;
结论:如果我错了,请纠正我,但似乎使用Angular的大多数应用程序的服务器端只包含Web服务.
我的问题是:是否应该使用webservices来创建整个网站?显然,这正是新一波基于角度的应用程序所发生的事情.
我一直读到 MVC 模式中最大的一层应该是模型。我还听说我们应该避免将逻辑放在控制器层上。然而,随着我的 ASP.Net MVC 5 应用程序变得越来越大,我发现我得到了繁重的视图、繁重的控制器和......极其微小的模型(它们只不过是对我的 SQL 表的引用)。
是的,我承认,我永远无法在我的模型中加入任何逻辑。
我喜欢 MVC 模式,并且我的网站运行良好,但我一直认为我肯定没有做正确的事情......
您能给我展示一些关于如何正确编写 MVC 代码的有用链接吗?Rick Anderson(微软)的 MVC 5 教程很好,但他的模型确实非常小......
我想从控制台应用程序定期访问 Microsoft Graph,以便将邮件从 Outlook 邮箱复制到数据库。为了以编程方式进行身份验证,我必须使用 Microsoft Graph 的“客户端凭据流程”。
这些是我必须采取的步骤:
添加我需要的所有权限并授予他们访问权限:
让管理员通过首次访问来确认这些权限。这是使用以下 URL 完成的:
https://login.microsoftonline.com/{tenant}/v2.0/adminconsent
?client_id={app id}
&state=1234
&redirect_uri=https://login.microsoftonline.com/common/oauth2/nativeclient
&scope=https://graph.microsoft.com/.default
Run Code Online (Sandbox Code Playgroud)
我收到以下回复:
admin_consent: True
tenant: ca566779-1e7b-48e8-b52b-68**********
state: 12345
scope**: scope: https://graph.microsoft.com/User.Read https://graph.microsoft.com/.default
Run Code Online (Sandbox Code Playgroud)
(作用域可能解释了这里稍后描述的问题:为什么我只有User.Read
在配置了 13 个不同的权限时才得到?)
获取访问令牌(成功!):
尝试读取用户(成功):
尝试阅读我自己的电子邮件(没有成功):
尝试阅读其他人的电子邮件(用户被邀请以访客身份访问该应用程序,但仍然没有成功):
我不明白为什么我无法读取消息,但可以读取用户。看来权限被完全忽略了(我确认我不需要任何权限来读取用户)。
更新
这是我的租户姓名:
这些是添加到租户的用户:
重要提示:我的 Azure AD 中没有 Office 365 订阅。所有这些电子邮件都属于不同的 AD。
即使用户在用户端点上列出,上一个问题“租户 GUID 的租户不存在”?与我的类似,但我相信这不是重复的,因为我的问题略有不同,并且建议的解决方案使用 OAuth1 (我正在使用 OAuth2)。
我正在尝试使用以下代码对我的MVC模型进行编码,但警报消息为我提供了一个空值.我不确定它为什么给我一个空值,因为这是一个创建表单.我正在尝试从这个创建一个模型,我的HTML代码具有以下外观:
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>Customer</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" id="submit" />
</div>
</div>
</div>
}
<div>
@Html.ActionLink("Back to List", "Index") …
Run Code Online (Sandbox Code Playgroud) asp.net-mvc ×4
c# ×4
asp.net ×2
jquery ×2
rest ×2
ado.net ×1
ajax ×1
angularjs ×1
asp.net-ajax ×1
foreach ×1
json ×1
mocking ×1
session ×1
sql-server ×1
syntax ×1
unit-testing ×1
web-services ×1