小编Jac*_*int的帖子

Laravel 4嵌套资源控制器Route :: resource('admin/photo','PhotoController'); 不工作

在Larvel 4中,我正在尝试设置嵌套资源控制器.

routes.php中:

Route::resource('admin/photo', 'Controllers\\Admin\\PhotoController');
Run Code Online (Sandbox Code Playgroud)

app\controllers\Admin\PhotoController.php中:

<?php namespace Controllers\Admin;

use Illuminate\Routing\Controllers\Controller;

class PhotoController extends Controller {

    /**
     * Display a listing of the resource.
     *
     * @return Response
     */
    public function index()
    {
        return 'index';
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return Response
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @return Response
     */
    public function store()
    {
        // …
Run Code Online (Sandbox Code Playgroud)

laravel laravel-4

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

CurrentUtcDateTime不存在 - Entity Framework和MySql

我在Entity Framework 4.1和MySql Connector/Net 6.4.3中遇到了规范函数的问题.根据Microsoft的说法,所有数据库提供者都可以从LINQ生成的SQL中理解并将其转换为本地SQL方言; http://msdn.microsoft.com/en-us/library/bb738626.aspx但是,我的代码在CurrentUtcDateTime()上窒息,这里列出了; http://msdn.microsoft.com/en-us/library/bb738563.aspx

以下是生成攻击性SQL的LINQ查询(来自NopCommerce):

    public List<Poll> GetPolls(int languageId, int pollCount, bool loadShownOnHomePageOnly)
    {
        bool showHidden = NopContext.Current.IsAdmin;


        var query = (IQueryable<Poll>)_context.Polls;
        if (!showHidden)
        {
            query = query.Where(p => p.Published);
            query = query.Where(p => !p.StartDate.HasValue || p.StartDate <= DateTime.UtcNow);
            query = query.Where(p => !p.EndDate.HasValue || p.EndDate >= DateTime.UtcNow);
        }
        if (loadShownOnHomePageOnly)
        {
            query = query.Where(p => p.ShowOnHomePage);
        }
        if (languageId > 0)
        {
            query = query.Where(p => p.LanguageId == languageId);
        }

        query = query.OrderBy(p => p.DisplayOrder); …
Run Code Online (Sandbox Code Playgroud)

mysql entity-framework

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

返回一个对象并控制状态代码

我从nuget.org上的ASP.NET Web API版本(周五RC之前的版本)升级到myget.org上的每晚版本.正如预期的那样,有许多重大变化,其中一个我似乎无法解决:我们有一个场景,我们希望我们的操作返回一个对象并将状态代码设置为201 Created.这之前很容易完成(可能无法编译 - 概念代码来自我的头脑):

Session session = GetSessionInfo(requestMessage);
var response = new HttpResonseMessage(HttpStatusCode.Created);
response.Content = response.CreateContent(session);
return response;
Run Code Online (Sandbox Code Playgroud)

CreateContent实际上是一个位于System.Net.Http.HttpResponseMessageExtensions中的扩展方法,在ObjectContent中调用内部构造函数.随着新版本的发布,HttpResponseMessageExtensions似乎在新版本中消失了,ObjectContent的内部构造函数也是如此.现在看来我必须调用一个ObjectContent构造函数,以下似乎最适合我们的需求:

public class ObjectContent<T> : ObjectContent
{
    public ObjectContent(T value, MediaTypeFormatter formatter)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,似乎我必须将MediaTypeFormatter传递给它,将内容协商混合到动作的逻辑中.在我们的设置中,内容协商是通用的,并且与控制器完全分离.

有没有人建议解决方案返回一个对象,设置响应状态代码,但不必处理MediaTypeFormatter,媒体类型或任何其他内容协商相关的东西?

asp.net-web-api

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

如何在ViewModel上创建Web API调用所需的字段?

我想知道它是否可行,或者如何在我的Web API调用中将我的类上的字段用作参数?一旦我收到消息,我显然可以手动执行此操作,但我希望管道中内置了一些东西(比如MVC与jQuery结合使用必需的字段注释来自动回到UI显示必需的字段表示法)所以我不必手动检查所有内容.

假设我有以下ViewModel类:

public class PersonViewModel
{
  public string FirstName {get; set;}

  public string MiddleName {get; set;}

  public string LastName {get; set;}

}
Run Code Online (Sandbox Code Playgroud)

这是我简单的Post方法 PersonController

public HttpResponseMessage Post(PersonViewModel person)
{


}
Run Code Online (Sandbox Code Playgroud)

让我们说这些FirstNameLastName字段是必需的但不是 MiddleName.我想知道的是,如果Person对象没有填充必填字段之一,调用会自动使用HTTP 400错误请求或类似情况回复客户端吗?

基本上我必须手动完成所有这些工作,或者有没有办法让框架自动处理标记字段,所以我没有很多必需字段的样板验证代码?

手动方式我试图避免:

if (ModelState.IsValid)
{
  if (person.LastName == string.empty)
  {
     return Request.CreateResponse(HttpStatusCode.BadRequest);
  }

}
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏,谢谢!

asp.net-web-api

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

如何在Laravel 4中使用Eloquent Model增加列

我不确定如何使用Laravel 4中的Eloquent Model增加列中的值?这就是我目前所拥有的,我不确定这是多么正确.

$visitor = Visitor::where('token','=','sometoken')->first();
if(isset($visitor)){
    $visitor->increment('totalvisits');
}else{
    Visitor::create(array(
    'token'=>'sometoken',
    'totalvisits'=>0
    ));
}
Run Code Online (Sandbox Code Playgroud)

使用Query Builder,我们可以使用它

DB::table('visitors')->increment('totalvisits');
Run Code Online (Sandbox Code Playgroud)

laravel eloquent laravel-4

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

PHP:mcrypt将字符串的开头变为垃圾

我需要在服务器端进行中到强加密,所以我想我会在PHP中使用mcrypt.如果我使用下面的函数,原始字符串的开头会在解密后变成二进制垃圾.(这不是额外添加垃圾的常见问题,而是我的字符串被更改.)根据文档,mcrypt_encrypt()应该填充足够的字符以匹配所选算法的块大小,但我怀疑它不起作用.

但是,如果我手动将其填充到Rijndael的128位(16字节)的块大小,它也不起作用.我可以使这个工作的唯一方法是通过预先填充一些足够长的字符串(可能)覆盖带状块,并在该字符串和我的数据之间添加一个已知的前缀,如"DATA#".解密后,该块已被部分损坏,但我的前缀和之后的所有数据都已正确解密.

$GLOBALS['encryptionmarker'] = 'DATA#';

function encrypt($plain, $key) {
    /*
    // workaround because beginning of decrypted string is being mangled
    // so we simply prefix with some text plus marker
    $prefix = str_pad('', 128, '#', STR_PAD_RIGHT).$GLOBALS['encryptionmarker'];
    $plain = $prefix.$plain;
    */

    $encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $plain, MCRYPT_MODE_CFB,
        mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CFB),
        MCRYPT_DEV_URANDOM));

    return $encrypted;
}

function decrypt($encrypted, $key) {
    $decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $encrypted, MCRYPT_MODE_CFB,
        mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CFB),
        MCRYPT_DEV_URANDOM));

    /*
    // workaround: remove garbage
    $pos = strpos($decrypted, $GLOBALS['encryptionmarker']);
    $decrypted = …
Run Code Online (Sandbox Code Playgroud)

php encryption cryptography mcrypt

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

如何将参数发送到ICommand的Execute方法

我在SL/WPF中经历了一些MVVM示例,这里最基本的是实现ICommand接口.我已经理解了MVVM的工作原理.但是,我ExecuteICommand接口方法有疑问.

实现的类ICommand具有Execute如下所示的方法.

public void Execute(object parameter) //Method to call when the command is invoked
        {
          // pointer to a method to be executed
        }
Run Code Online (Sandbox Code Playgroud)

在每个例子中,我都看到上面方法中的参数是NULL.为什么?有人可以发布一个MVVM的简单示例,其中使用此对象参数而不是null吗?

c# silverlight wpf mvvm

0
推荐指数
1
解决办法
390
查看次数