小编kay*_*ess的帖子

如何在Spring MVC 3中实现分页

在Spring MVC中是否有可用于分页的开箱即用,易于实现的标准分页组件/ tag-lib或代码示例?

java spring pagination servlets spring-mvc

56
推荐指数
3
解决办法
8万
查看次数

Chrome中的加密Cookie

我目前正在开发一个C#表单应用程序,需要访问我的计算机上的特定cookie,我可以做得非常好.这是问题所在:

Google将SQL存储在SQLite中,我已下载Sqlite数据库浏览器以帮助我查看这些值.令我惊讶的是,大约一半的cookie值显示为空(包括我需要的那个),即使它们显然不是.

db文件位于:

C:\Users\%username%\AppData\Local\Google\Chrome\User Data\Default\Cookies
Run Code Online (Sandbox Code Playgroud)

在Chrome上我有一个名为"编辑此Cookie"的插件,它允许我直接修改我所在网站上的Cookie.这个插件可以读取这些cookie,并且Web浏览器可以在需要时通过HTTP解析不同的请求,因此它们肯定存在 - 仍然,SQLite浏览器和我的自定义代码都得出结论,特定值字段为空.

这是为什么?是什么以某种方式阻止某些应用程序读取该字段?

sqlite cookies google-chrome

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

如何以正确的方式实现存储库模式?

在为我的ASP.NET项目实现存储库模式时,我遇到了一些我无法理解的问题.所以我对如何以正确的方式实现存储库模式有几个问题.

根据我的经验,我认为只有在我的应用程序中,没有行为的类/模型,在他们的存储库旁边并不是很好的OOP.但是,这是我实现存储库模式的方式.我只是到处都需要一个存储库实例,来执行一些操作.这种方法的结果是我的所有域类都没有行为.

它们只是没有方法的数据对象.我的老师告诉我,我正在使用薄模型,我应该努力制作胖模型.为了回应这些反馈,我在类中实现了一些业务逻辑,但是我遇到了一些问题:

场景:

我的User班级中有一个包含用户对象的朋友列表,代表某个用户的朋友.向用户添加新朋友时,域类方法会检查朋友列表中是否已存在"朋友".如果没有,他将被添加到列表中.需要将这些更改发送到数据库以实现持久性.

我知道这必须在每个域类的存储库中完成,但是对存储库方法的调用在哪里属于应用程序的体系结构?

现在我调用域类方法本身的存储库方法,以保持对数据库的更改:

public void AddFriend(User friend)
    {
        foreach(User f in Friends)
        {
            if(f.Username == friend.Username)
            {
                throw new Exception(String.Format("{0} is already a friend.", friend.Username));
            }
        }

        Friends.Add(friend);
        userRepo.AddFriend(this.Id, friend.Id);
    }
Run Code Online (Sandbox Code Playgroud)

这是一个很好的方法,因为某些原因我认为不是.关于单元测试,我们需要使用这种方法进行一些依赖注入,它告诉我它不是一个独立的类(良好的可测试单元).我读过一些人说他们使用额外的服务层或其他东西的帖子.我认为这里需要这种抽象,但某个服务层是怎样的?它是什么,哪些方法等?

我见过其他一些学生在域类中使用静态方法,它提供了添加新对象,更新对象,删除对象和获取所有对象等功能.

例:

public class Tram
{
    private static TramRepository Repo = new TramRepository(new DBTram());

    public static void AddTram(int tramID, TramType type, int lineNr)
    {
        Tram tram = new Tram(tramID, type, TramStatus.depot, lineNr, true, null);
        Repo.AddTram(tram);
    }

    public static List<Tram> GetAll()
    { 
        Repo.GetAll(); …
Run Code Online (Sandbox Code Playgroud)

c# architecture asp.net repository-pattern

14
推荐指数
1
解决办法
1059
查看次数

内存使用问题

我们在Azure门户上观察了redis缓存的内存使用情况图.有人可以帮忙吗?发生了什么?为什么内存使用会突然飙升?

在此输入图像描述

caching azure redis

14
推荐指数
0
解决办法
1307
查看次数

在自定义用户控件的DependencyProperty上绑定不更新更新

我在自定义用户控件上进行数据绑定时遇到了困难.我创建了一个示例项目来突出我的问题.我是WPF的新手,也是MVVM的新手,所以请耐心等待......

我创建了一个使用数据绑定两种方式的简单视图.内置控件上的数据绑定工作正常.我的自定义控件没有...我在PropertyChangedCallback我的控件中放了一个断点.它在启动时被击中一次,但从未再次被击中.与此同时,我已经绑定到相同价值的标签很高兴倒计时.

我错过了什么?我的示例项目如下:

主窗口:

<Window x:Class="WpfMVVMApp.MainWindow"
        xmlns:local="clr-namespace:WpfMVVMApp"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Grid.DataContext>
            <local:CountdownViewModel />
        </Grid.DataContext>
        <Label Name="custName" Content="{Binding Path=Countdown.ChargeTimeRemaining_Mins}" Height="45" VerticalAlignment="Top"></Label>
        <local:UserControl1 MinutesRemaining="{Binding Path=Countdown.ChargeTimeRemaining_Mins}" Height="45"></local:UserControl1>
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

这是我的模特:

namespace WpfMVVMApp
{

    public class CountdownModel : INotifyPropertyChanged
    {
        private int chargeTimeRemaining_Mins;
        public int ChargeTimeRemaining_Mins
        {
            get
            {
                return chargeTimeRemaining_Mins;
            }
            set
            {
                chargeTimeRemaining_Mins = value;
                OnPropertyChanged("ChargeTimeRemaining_Mins");
            }
        }

        #region INotifyPropertyChanged Members
        public event PropertyChangedEventHandler PropertyChanged;
        private void OnPropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); …
Run Code Online (Sandbox Code Playgroud)

c# data-binding wpf user-controls dependency-properties

12
推荐指数
2
解决办法
3万
查看次数

在名为test113.onmicrosoft.com的租户中找不到名为HTTPS://test113.onmicrosoft.com/FTP的应用程序

我必须针对Azure AD验证应用程序.我创建了Web API并将其添加到Azure AD应用程序部分.更改了清单文件,创建了Web API并使用Azure AD进行了身份验证,并创建了一个Windows窗体,其中包含以下代码:

 private async void button1_Click(object sender, EventArgs e)
 {
    string authority = "https://login.windows.net/test113.onmicrosoft.com";
    string resourceURI = "https://test113.onmicrosoft.com/ftp";
    string clientID = "5177ef76-cbb4-43a8-a7d0-899d3e886b34";
    Uri returnURI = new Uri("http://keoftp");

    AuthenticationContext authContext =
        new AuthenticationContext(authority);
    AuthenticationResult authResult =
        authContext.AcquireToken(resourceURI, clientID, returnURI);

    string authHeader = authResult.CreateAuthorizationHeader();

    // don't do this in prod
    System.Net.ServicePointManager.ServerCertificateValidationCallback =
            ((s, c, c2, se) => true);

    HttpClient client = new HttpClient();
    HttpRequestMessage request =
        new HttpRequestMessage(HttpMethod.Get, "https://localhost:44300/api/tasks");
    request.Headers.TryAddWithoutValidation("Authorization", authHeader);
    var response = await client.SendAsync(request);
    string responseString …
Run Code Online (Sandbox Code Playgroud)

c# azure office365 azure-active-directory

11
推荐指数
1
解决办法
2万
查看次数

Web App 部署后未加载

我通过 Azure 中的订阅有一个名为“matanwebserver”的工作应用程序服务。这是我正在开发的一个网站。我使用 Visual Studio。

现在,我在同一订阅上创建了另一个 Web 应用程序,我将其用作集成站点,以便我可以在发布到生产站点之前测试我的代码。新 Web 应用程序的名称是“matanwebservertest”。将我的项目从 Visual Studio 发布到新的 Web 应用程序后,当我输入它的 URL 时,似乎什么也没发生,但它写着“您的应用程序服务应用程序已启动并正在运行”。

我究竟做错了什么?

添加了一些屏幕截图以更好地理解该问题

  1. 在 Visual Studio 中,我右键单击名为“MatanWebServer”的 Web 应用程序,然后选择“发布”。然后我选择刚刚在 Azure 门户上创建的名为“matanwebserertest”的新 Web 应用程序,并成功发布。

在此输入图像描述

  1. 这是原始(制作)网站。它的地址是 http://matanwebserver.azurewebsites.net

在此输入图像描述

  1. 发布到 matanwebservertest Web 应用程序后,我希望看到原始站点的“副本”,但似乎什么也没有。

在此输入图像描述

azure azure-deployment azure-app-service-plans azure-web-app-service

9
推荐指数
2
解决办法
3万
查看次数

如何使用Vue.js预加载图像?

我有一个使用Vue.Js(带有webpack)的小应用程序。我有一个过渡部分。当用户单击按钮时,内容将更改。这是一个DIV带有IMG子元素的简单元素。我的问题是,当用户单击按钮时,下一个图像将被实时加载并且速度很慢,因此我需要以某种方式预加载这些图像。

我尝试了不同的方法,但无法实现图像的预加载。问题:

  • 显示页面时,只有第一个图像是DOM的一部分,因此不会加载其他图像。好的,这是正常行为。

  • 我无法通过在图像数组上使用简单的for循环来预加载图像(使用JavaScript预加载图像),因为图像将由唯一的查询字符串请求(1个)到每个请求。因此,预加载的图像名称将与请求的名称不匹配。

  • 我尝试使用加载图像require()并将其绑定到IMG标签的src属性。这也没有解决我的问题,当新的图像DIV插入DOM 后,单击后图像将被实时加载。

我的简化单文件组件(.vue)如下所示:

<template>
    <!-- [FIRST] -->
    <div v-if="contentId == 0">
      <transition
        enter-active-class="animated fadeIn"
        leave-active-class="animated fadeOut"
        mode="out-in">
        <img :src="images.firstScreenShot" key="firstImage">
      </transition>
    </div>
    <!-- [/FIRST] -->

    <!-- [SECOND] -->
    <div v-else-if="contentId == 1">
      <transition
        enter-active-class="animated fadeIn"
        leave-active-class="animated fadeOut"
        mode="out-in">

        <img :src="images.secondScreenShot" key="secondImage">
      </transition>
    </div>
    <!-- [/SECOND] -->
</template>
<script>
    export default {
        data() {
            return {
                contentId: 0,
                images: {
                    firstScreenShot: require('./assets/first-screen-shot.png'),
                    secondScreenShot: require('./assets/second-screen-shot.png'), …
Run Code Online (Sandbox Code Playgroud)

javascript preload vue.js

8
推荐指数
2
解决办法
8694
查看次数

授权 - GetRolesForUser总是空的?

我在.NET MVC 4应用程序中使用自定义登录验证.但是我无法通过Web.config文件实现角色授权.

我试过如下:

if(loginvalid)
{
    var claimsIdentity = new Claims.ClaimsIdentity(
        new[] 
            { 
                new Claims.Claim(Claims.ClaimTypes.NameIdentifier, "username"),
                new Claims.Claim("http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider", "ASP.NET Identity", "http://www.w3.org/2001/XMLSchema#string"),
                new Claims.Claim(Claims.ClaimTypes.Name,"username"),
                new Claims.Claim(Claims.ClaimTypes.Role, "admin"),
            },
            "CustomApiKeyAuth"
            );

    var principal = new Claims.ClaimsPrincipal(new[] { claimsIdentity });

    System.Threading.Thread.CurrentPrincipal = principal;
    System.Web.HttpContext.Current.User = principal;

    var test1 = User.Identity.IsAuthenticated;

    // here roleNames variable is always empty.
    string[] roleNames = Roles.GetRolesForUser();
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,roleNames变量始终为空.我究竟做错了什么?

和Web.config代码:

<location path="token.axd"> 
    <system.web>
        <authorization>
            <allow roles="admin"/> 
            <deny users="*"/> 
        </authorization>
    </system.web>
</location>
Run Code Online (Sandbox Code Playgroud)

authorization roles c#-4.0 asp.net-mvc-4

7
推荐指数
0
解决办法
232
查看次数

API - 错误202"您的凭据不允许访问此资源"

我正在尝试使用account/verify_credentialsstatuses/updateAPI.我总是收到错误202,请看下面返回的错误:

{"errors":[{"code":220,"message":"您的凭据不允许访问此资源."}]}

php twitter codeigniter pyrocms

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