小编Ryk*_*Ryk的帖子

MySQL - 无法在列中插入NULL值,但我指定了默认值?

我在MySQL中有一个表,其中有几列指定了默认值,但是当我尝试插入一行时(不指定这些默认列的值),它会抛出一个错误,说我无法插入NULL值.

这是表格示例;

CREATE TABLE `users` (
  `Id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `UniqueName` varchar(120) NOT NULL,
  `Password` varchar(1000) NOT NULL,
  `PublicFlag` tinyint(1) NOT NULL,
  `NoTimesLoggedIn` int(10) unsigned NOT NULL DEFAULT '0',
  `DateTimeLastLogin` timestamp NOT NULL DEFAULT '1971-01-01 00:00:00',
  `UserStatusTypeId` int(10) unsigned NOT NULL,
  `Private` tinyint(1) NOT NULL DEFAULT '0',
  `SiteName` varchar(255) NOT NULL,
  `CountryId` int(10) NOT NULL DEFAULT '0',
  `TimeZoneId` varchar(255) NOT NULL DEFAULT 'UTC',
  `CultureInfoId` int(10) unsigned NOT NULL DEFAULT '0',
  `DateCreated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `UserCreated` int(10) …
Run Code Online (Sandbox Code Playgroud)

mysql

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

无法使用表存储在Azure Cloud Worker角色中加载文件或程序集Microsoft.Data.OData Version = 5.2.0.0错误

我使用Azure表存储有一个非常奇怪的问题.我在Visual Studio 2012中有一个.NET 4.5项目,我处理所有Azure表存储功能.这个项目/ dll由另外两个项目引用,我的MVC网站和我的Azure工作者角色.(我在我的机器上的Azure Emulators下运行,但是当我将它部署到云时也会发生这种情况)

我保存或检索记录时调用以下函数:

internal static CloudTable GetTable(CloudStorageAccount storageAccount, string tableReference)
{
    CloudTableClient tableClient = storageAccount.CreateCloudTableClient();

    CloudTable table = tableClient.GetTableReference(tableReference);
    table.CreateIfNotExists();

    return tableClient.GetTableReference(table.Name);
}
Run Code Online (Sandbox Code Playgroud)

在我的MVC网站中,我有一个将记录保存到Azure存储表的功能,然后在我的Azure工作者角色中有一个将读取记录的服务.

因此,两者都使用相同的dll进行存储和检索,但是我的MVC项目在保存记录时没有问题,但是当我尝试检索记录时,我的Azure Worker角色服务在尝试执行"table.CreateIfNotExists()时抛出异常;".

无法加载文件或程序集"Microsoft.Data.OData,Version = 5.2.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35"或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

我已经做了以下事情:

  1. 更新了从解决方案级别到最新版本的所有NuGet软件包
  2. 我浏览了每个项目参考,以确保没有旧的dll或以前的版本,特别是System.Spatial,Microsoft.WindowsAzure.Configuration,Microsoft.WindowsAzure.ServiceRuntime和Microsoft.ServiceBus,Microsoft.WindowsAzure.Storage, Microsoft.Data.Edm和Microsoft.Data.OData
  3. 我甚至从头开始创建了一个新的Cloud Service和WorkerRole项目,以确保它不会在当前的WorkerRole项目中被破坏.

我还没有将dll推回到5.2,因为我在其他项目中遇到太多问题,我使用的功能从5.3开始具体.

我目前正在5.5上运行所有的dll.

当我运行此处找到的AsmSpy.exe实用程序时,我得到以下输出,我不是100%确定如何解释.

> Reference: Microsoft.Data.Edm
>         5.5.0.0 by Microsoft.Data.OData
>         5.5.0.0 by Microsoft.Data.Services.Client
>         5.5.0.0 by Microsoft.WindowsAzure.ActiveDirectory.GraphHelper.2013_04_05
> Reference: System.Spatial
>         5.5.0.0 by Microsoft.Data.OData
>         5.5.0.0 by Microsoft.Data.Services.Client Reference: Microsoft.Data.OData
>         5.5.0.0 by Microsoft.Data.Services.Client …
Run Code Online (Sandbox Code Playgroud)

c azure azure-storage azure-table-storage

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

从MVC查询Active Directory导致:尝试访问已卸载的appdomain.(HRESULT异常:0x80131014)

我在MVC Web应用程序中使用c#on .Net 4时出现问题,当我查询Active Directory时,我经常收到错误:尝试访问已卸载的appdomain.(来自HRESULT的异常:0x80131014).

奇怪的是,它会在一段时间内完美无缺地工作,然后它才会开始发生,然后再次消失.

我对函数进行了一些修改以使其工作,但它们似乎都失败了.我想知道我做错了什么,或者是否有更好的方法来做.

这是我当前的函数,它将接受loginId和PrincipalContext.loginId可以是用户DisplayName,即"John Smith",也可以是DOMAINNAME\josmi.默认设置是使用其名字的前2个字母,然后使用其姓氏的前3个字母.如果不是这样,那里有一张支票.这部分如果罚款.

public List<ADGroup> GetMemberGroups(string loginId, PrincipalContext principalContext, int tries = 0)
{
    var result = new List<ADGroup>();

    try
    {
        var samAccountName = "";
        if (loginId.Contains(" "))
        {
            var fName = loginId.Split(Char.Parse(" "))[0].ToLower();
            var sName = loginId.Split(Char.Parse(" "))[1].ToLower();

            if (sName.Trim().Length == 2)
                samAccountName = string.Format("{0}{1}", fName.StartsWith(".") ? fName.Substring(0, 4) : fName.Substring(0, 3), sName.Substring(0, 2));
            else
                samAccountName = string.Format("{0}{1}", fName.StartsWith(".") ? fName.Substring(0, 3) : fName.Substring(0, 2), sName.Substring(0, …
Run Code Online (Sandbox Code Playgroud)

c# model-view-controller asp.net-mvc active-directory

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

VISUAL STUDIO 2010:如何将解决方案下的所有项目输出到同一目录

我继承了一个C#应用程序,它由4个解决方案文件组成,每个解决方案文件下有92个项目.

我正在寻找一种简单的方法,当我手动构建解决方案时,将每个项目的所有构建输出路径更改为公共目录.

如果有人知道,要么将通过每个项目迭代和改变路径,或者如果是创建一个全球性的环境变量,这将覆盖所有项目的变量,或其他任何方式的方式宏,我会很感激的帮助.

请注意,我没有使用构建服务器,并且我希望在Visual Studio中对解决方案进行手动构建时实现此目的.

提前谢谢了.

c# visual-studio-2010

9
推荐指数
1
解决办法
4330
查看次数

使用Windows身份验证的IIS 7.5和MVC 3 - 获取静态内容的401,但永远不会被提示输入凭据

我有一个运行在带有IIS 7.5的Server 2008 R2上的MVC 3站点.我想知道为什么,(使用fiddler),我一直在静态内容上获得401响应,紧接着是302或200?这是我需要关注的吗?我可以直接在我的浏览器中导航到给出401的内容,浏览器显示它而不提示输入凭据.

如果我对失败的请求进行跟踪,我将其作为输出:

ModuleName UrlAuthorization 
Notification 4 
HttpStatus 401 
HttpReason Unauthorized 
HttpSubStatus 0 
ErrorCode 0 
ConfigExceptionInfo  
Notification AUTHORIZE_REQUEST 
ErrorCode The operation completed successfully. (0x0) 
Run Code Online (Sandbox Code Playgroud)

我检查了所有目录和文件,并且他们将应用程序池用户(域用户)作为具有完全权限的所有者.

正如我所说,我的网站没有被破坏,但我想知道我的设置是否有问题.

提前致谢.

编辑:以下是来自Fiddler的样本:在此输入图像描述

iis model-view-controller iis-7 iis-7.5 asp.net-mvc-3

8
推荐指数
1
解决办法
3034
查看次数

AngularJS:在视图上多次使用相同的控制器

我正在钻研Angularjs,并且我已经将我的应用程序带到了简单的待办事项列表阶段之外.

我拥有的一个必须通用的场景是,需要在我的视图中的多个区域共享一个控制器.

在我的情况下,我有一个profileController,我想用它来从服务器上获取每个负载的用户配置文件.

当我从profileController中调用loadUserProfile时,我看到它被称为'n'次(我在视图中引用控制器的次数),这很酷,所以我更改了profileController以简单地公开变量,如userProfile和isAuthenticated,它只是引用我在$ rootScope中设置的变量.这些变量是在一个控制器中设置的,每次在我声明的页面上加载一次<body data-ng-controller="baseController as vm">,但这似乎不起作用,我想知道我错过了什么.

因此它获取了来自profileService的数据,但是在更新$ rootScope变量时,它并没有在我的视图中反映出来.

下面是我的baseController:

(function () {
    'use strict';

    var controllerId = 'baseController';
    angular.module('app.controllers').controller(controllerId, ['$location', 'common', 'authClientSvc', 'profileService', '$rootScope', baseController]);

    function baseController($location, common, authClientSvc, profileService, $rootScope) {
        var getLogFn = common.logger.getLogFn;
        var log = getLogFn(controllerId);
        var vm = this;

        $rootScope.isAuthenticated = false;
        $rootScope.userProfile = {
            email: '',
            name: '',
            surname: ''
        };


        activate();

        function activate() {
            var promises = [getUserProfile()];
            common.activateController([promises], controllerId)
                .then(function () { log('Activated Secure View'); }); …
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-scope

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