小编Lui*_*eia的帖子

保持ASP.NET会话开放/活跃

只要用户打开浏览器窗口,哪种最简单,最不显眼的方式可以使ASP.NET会话保持活动状态?是时候调用AJAX吗?我想阻止以下情况:有时候用户长时间打开窗口,然后输入内容,并且提交时不再有效,因为服务器端会话已过期.我不希望在服务器上增加超过10分钟的超时值,因为我希望关闭会话(通过关闭浏览器窗口)快速超时.

建议,代码示例?

c# asp.net session

111
推荐指数
3
解决办法
10万
查看次数

将Web API添加到现有MVC Web应用程序后出现404错误

这里有一个很好的问题: 如何将Web API添加到现有的ASP.NET MVC 4 Web应用程序项目中?

不幸的是,这还不足以解决我的问题.我已经尝试了两次,以确保我没有做错任何事.我右键单击"控制器"并添加了项目"Web API 2 Controller with actions,using Entity Framework",其中我选择了我的模型类和db上下文.一切都很顺利...但仍然...每次我试图访问/ api/Rest我得到404错误(我的控制器的名称是RestController).

c# asp.net rest asp.net-mvc asp.net-web-api

60
推荐指数
2
解决办法
4万
查看次数

HTTP-Get和HTTP-POST之间有什么区别?为什么HTTP-POST在安全性方面较弱

任何人都可以解释HTTP-GET和HTTP-POST之间的区别吗?为什么人们说HTTP-POST在安全性方面较弱?

rest

50
推荐指数
5
解决办法
7万
查看次数

C#有foreach oneliner吗?

我只是想知道C#中是否有foreach oneliner,就像if oneliner一样.(exp) ? then : else

c# syntax foreach

15
推荐指数
4
解决办法
2万
查看次数

接口如何使单元测试和模拟更容易?

人们常说接口使得模拟和单元测试变得更容易.接口如何帮助解决这个问题?

unit-testing mocking

14
推荐指数
2
解决办法
8440
查看次数

DataAdapter.Fill性能异常

我有两个DataBases(DB1&DB2:两个DB都是相同的,DB2是从备份中创建的DB1).当我SP1在两者上运行存储过程时DBs,大约需要2秒才能给出select两个输出(语句)DBs.

现在的问题是,当我DBs从一个service并尝试使用DataAdapter.Fill方法指出这些时,它给我不同的时间(54-63秒开启DB142-44秒开启DB2)两者DBs一致.注意到我使用相同的服务来指出DBs它不能是服务行为/性能.现在我的问题是:

这可能是什么原因?欢迎提出任何建议,我应该研究什么?

帮助信息:

  1. 两个数据库都处于不同的servers(相同的配置),但由于执行SP打开SQL Server Management Studio时间相同,DBs因此我排除了DB server性能的可能性.网络延迟可能是一个因素但是极不可能,因为两者servers 都在同一网络上并且实际上位于同一物理位置.这是我最后检查的选项.

  2. 其他一些服务正在使用SQLDependencyON DB1.这一直在填补DataAdapter(s),这可能是我的DataAdapter fill方法减慢的原因 吗?(我猜不太可能)

根据以下评论的要求,代码填写了DataSet:

DataSet填充

PS:上面提到的时间是上图中突出显示的代码行的执行时间.

c# sql-server ado.net

7
推荐指数
1
解决办法
1049
查看次数

是否应该使用webservices来创建整个网站?

在过去的几年里,我一直在使用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来创建整个网站?显然,这正是新一波基于角度的应用程序所发生的事情.

asp.net-mvc jquery web-services asp.net-web-api angularjs

6
推荐指数
1
解决办法
323
查看次数

在模型层(MVC)实现应用程序逻辑

我一直读到 MVC 模式中最大的一层应该是模型。我还听说我们应该避免将逻辑放在控制器层上。然而,随着我的 ASP.Net MVC 5 应用程序变得越来越大,我发现我得到了繁重的视图、繁重的控制器和......极其微小的模型(它们只不过是对我的 SQL 表的引用)。

是的,我承认,我永远无法在我的模型中加入任何逻辑。

我喜欢 MVC 模式,并且我的网站运行良好,但我一直认为我肯定没有做正确的事情......

您能给我展示一些关于如何正确编写 MVC 代码的有用链接吗?Rick Anderson(微软)的 MVC 5 教程很好,但他的模型确实非常小......

model-view-controller asp.net-mvc asp.net-mvc-5

5
推荐指数
1
解决办法
1369
查看次数

使用客户端凭据流(守护程序)访问 Microsoft Graph API 时“租户 guid 的租户...不存在”

我想从控制台应用程序定期访问 Microsoft Graph,以便将邮件从 Outlook 邮箱复制到数据库。为了以编程方式进行身份验证,我必须使用 Microsoft Graph 的“客户端凭据流程”。

这些是我必须采取的步骤:

  1. 在 Azure 门户中注册应用程序并为其创建客户端密钥。
  2. 添加我需要的所有权限并授予他们访问权限:

    添加所需的权限并授予他们管理员访问权限

  3. 让管理员通过首次访问来确认这些权限。这是使用以下 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 个不同的权限时才得到?)

    使用管理员凭据确认权限

  4. 获取访问令牌(成功!):

    已获取访问令牌

  5. 尝试读取用户(成功):

    成功获取用户列表

  6. 尝试阅读我自己的电子邮件(没有成功):

    自己的电子邮件没有运气

  7. 尝试阅读其他人的电子邮件(用户被邀请以访客身份访问该应用程序,但仍然没有成功):

    尝试阅读客人的电子邮件没有运气

我不明白为什么我无法读取消息,但可以读取用户。看来权限被完全忽略了(我确认我不需要任何权限来读取用户)。

更新

这是我的租户姓名:

在此输入图像描述

这些是添加到租户的用户:

在此输入图像描述

重要提示:我的 Azure AD 中没有 Office 365 订阅。所有这些电子邮件都属于不同的 AD。

即使用户在用户端点上列出,上一个问题“租户 GUID 的租户不存在”?与我的类似,但我相信这不是重复的,因为我的问题略有不同,并且建议的解决方案使用 OAuth1 (我正在使用 OAuth2)。

microsoft-graph-mail microsoft-graph-api

5
推荐指数
1
解决办法
3928
查看次数

如何正确使用Html.Raw(Json.Encode(Model))?

我正在尝试使用以下代码对我的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)

ajax asp.net-mvc jquery json asp.net-ajax

4
推荐指数
1
解决办法
3万
查看次数