小编Jas*_*per的帖子

动态加载局部视图

对于一个项目,我需要一种加载部分视图的动态方法,最好是通过jquery/ajax.

这是我需要的功能:

  • 用户输入表格.将显示一个下拉列表,并使用一些输入控件呈现通用局部视图.
  • 用户在下拉列表中选择不同的值
  • 部分视图刷新.根据下拉列表的值,它应该加载局部视图.某些值具有与之关联的自定义视图(例如,我可以使用主键命名),而其他值则不然.当没有自定义视图时; 它应该加载默认值.当有一个时,它当然应该加载自定义的一个.

在可能的情况下,这应该都是ajaxified.

我已经阅读了有关动态加载partials的一些内容,但我想重新发布完整的案例,以便为这个特定案例找到最佳解决方案.

asp.net-mvc asp.net-mvc-3

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

接口继承与内部基础

我想知道是否有办法完成以下任务:

在我的项目中,我定义了一个界面,让我们说IFruit.此接口具有公共方法GetName().我还声明了一个接口IApple,它实现了IFruit并公开了一些其他方法,比如GetAppleType()等.有更多的水果,如IBanana,ICherry,等等.

现在在外面,我只希望能够使用实际的水果实现而不是IFruit本身.但我不能将IFruit接口声明为私有或内部接口,因为继承的接口会说"无法实现,因为基类不易访问".

我知道这可以通过抽象实现来实现,但在这种情况下这不是一个选项:我真的需要使用接口.有这样的选择吗?

更新 我想我的例子需要一些澄清:)我使用MEF来加载接口实现.加载的集合基于IApple,IBanana,ICherry等.但IFruit本身是无用的,我不能仅使用基于该接口的类.所以我一直在寻找一种方法来阻止其他开发人员单独实施IFruit,认为他们的类会被加载(它不会被加载).所以基本上,它归结为:


internal interface IFruit
{
  public string GetName();
}

public interface IApple : IFruit { public decimal GetDiameter(); }

public interface IBanana : IFruit { public decimal GetLenght(); }

但由于基础接口不易访问,因此无法编译.

c# inheritance interface

7
推荐指数
2
解决办法
1266
查看次数

科尔多瓦应用程序使用角度和ADAL

我正在使用Cordova构建我的第一个移动应用程序.后端服务存在于Azure上,因此我正在尝试使用Cordova的ADAL插件来进行身份验证.

首先,我发现该库不会像Angular的ADAL库那样进行拦截.我在我的Cordova应用程序中使用Angular,与外观的材料设计指令配对.拦截本来会很好,但据我所知,目前还不存在(应该知道实施的难度).

所以我现在写了一个服务,它将负责向Azure发送REST api请求,包括正确的身份验证令牌.它基于此处的示例.

这就是我想出的:

var request = function(url)
{
    createContext()
        .then(function () {
            getAuthToken().then(
                function(token) {
                    sendRequest(token, url);
            })
        },
        function (err) {
            $log.error("Failed to create a context.");
        });
};
Run Code Online (Sandbox Code Playgroud)

首先,它将创建身份验证上下文:

function createContext () {
    return $q(function (resolve, reject) {
        var authenticationContext = Microsoft.ADAL.AuthenticationContext;

        authenticationContext.createAsync(authority)
            .then(function (context) {
                authContext = context;
                $log.log("Created authentication context for authority URL: " + context.authority);
                resolve();
            }, function (err) {
                $log.error("Failed to create authentication context: " + pre(err))
                reject();
            });
    });
}; …
Run Code Online (Sandbox Code Playgroud)

angularjs cordova azure-active-directory adal visual-studio-cordova

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

Azure API 管理解析内部 URL

我们已经实现了如下设置:

  • 应用服务环境具有公开不同 API 的不同应用服务。此实例配置为内部实例,因此不可公开访问。
  • 我们已经配置了一个内部(私有)DNS 区域。此区域用于为 API 创建内部 URL。
  • 对外暴露的 API 管理实例。这里需要使用 API 本身公开的 Swagger 文件注册 API。
  • 一切都包含在同一个 VNet 中。

现在我们看到的是两件事:

  1. 从 VNet 内的 VM,我可以毫无问题地浏览 API 的 URL 并下载 Swagger 文件。
  2. 当我们尝试在 API 管理中注册 API 时,它会抛出一个错误,指出无法下载文件。当我们手动注册然后尝试调用 API 时,我们会收到 DNS 解析错误。

因此,API 管理实例似乎无法解析我们在 Azure 中设置的自定义 DNS 区域。我找不到任何信息告诉我是否支持这种情况。确实非常欢迎任何可能有助于找到问题的指针。

更新当我们通过上传文件注册API,然后尝试调用其中一个API方法时,出现以下错误:

The remote name could not be resolved
Run Code Online (Sandbox Code Playgroud)

这个相同的地址从完全相同的 VNet 中的 VM 解析得很好。

virtual-machine azure azure-api-management vnet

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

左外连接的SQL where子句

我对要创建的视图有疑问.我有两个表在左外连接一起,说tableAtableB,那里tableB是左外连接.

我想只选择表B中状态等于4的那些行,所以我添加WHERE state = 4到我的查询中.现在结果集被修剪了很多,因为没有匹配行的所有行都tableB从结果中删除(因为这些行的状态不是4).我也尝试过WHERE state = 4 OR state IS NULL,也不起作用(因为state技术上不是NULL没有状态时).

所以我需要的是一个WHERE只在实际存在行时进行评估的语句,是否存在这样的事情?

如果不是,我会看到两个选项:join (SELECT * FROM tableB WHERE state = 4)而不是表B,或创建具有相同WHERE语句的视图并将其加入.明智的选择是什么?

顺便说一句,这是SQL Server 2008 R2.

sql sql-server-2008

6
推荐指数
2
解决办法
7536
查看次数

中央SQL Server开发数据库服务器

我们正在重新思考我们的开发环境.目前,我们都有Elitebook笔记本电脑,它们并不像我们想的那么快.我们正在考虑将我们的开发环境虚拟化为中央VM服务器.

我们的开发人员在Visual Studio中工作并使用SQL Server作为数据库.我们还有一些SharePoint开发人员需要一台适用于SharePoint 2010的64位Win2k8计算机.这些计算机已经是具有自己的本地SQL Server安装的虚拟机.

每个开发人员的计算机或VM都安装了SQL Server.这需要来自所有盒子的资源,并且在与项目团队合作时具有挑战性.因此,我们正在研究将资源集中到单个数据库服务器的可能性.该框必须运行多个SQL Server实例(每个Sharepoint开发人员需要一个单独的开始).我们还需要安装较旧的SQL Server 2005和SQL Server 2000以实现向后兼容.除了SQL Server框之外,该计划还包含一个安装了开发工具的每个开发人员的VM会话.因此,开发人员可以将RDP引入开发环境,拥有自己的映像并利用集中式数据库服务器.测试服务器也将在同一环境中进行虚拟化.

我正在寻找有关此事的一些提示和最佳做法.例如:

  • 普通框可以采用的SQL Server实例数是多少?如果我们升级虚拟核心/内存; 是否足以添加新实例?我不希望开发中使用量很大.
  • 集中SQL Server实例的缺点是什么,而不是在每个开发盒上保留本地实例?
  • 如何将其整合到DTAP战略中?

sql-server sharepoint

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

以编程方式将图章图层添加到 PDF 文档

我正在寻找一种向 PDF 文档添加额外图层的方法。该图层应该位于现有图层的顶部,并且应该显示我想放在那里的文本,有点像水印。目前我们有办法做到这一点,但这只是将文本添加到嵌入在 PDF 中的图片上,这不是我想要的。如果有图书馆(免费的会很棒)可以做到这一点,任何人都有任何想法?

.net c# pdf

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

UWP UnitTest调试"无法连接到CoreCLR"

我在UWP(Windows 10)项目中运行调试模式以进行单元测试时遇到问题.抛出的错误是:

Unable to attach to CoreCLR. Interop debugging is not supported.

测试窗口的输出显示:

Deployment complete (0:00:00,932). Full package name: "d13697af-b51e-4d46-bbce-4f4b89a44a95_1.0.0.0_x64__h20887da7bcmm"

A user callback threw an exception.  Check the exception stack and inner exception to determine the callback that failed.
Run Code Online (Sandbox Code Playgroud)

真奇怪的是,每次都不会发生这种情况.我现在已成功调试了几次单元测试,直到失败.补救措施似乎是清理解决方案并重建,之后有时(并非总是)再次尝试几次尝试.然后它开始失败,我需要再次清理.

我正在为Windows 10 build 10586构建,选择另一个版本似乎并没有做出与众不同.

c# unit-testing visual-studio uwp windows-10-universal

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

使用客户端/机密调用Azure AD安全Web API

我一整天都在这里,它正在推动我努力.我在Azure上发布了一个使用Azure AD身份验证保护的Web API.我已经将这个API与移动应用程序结合使用了很长一段时间.在移动应用程序上,我使用库进行客户端身份验证(位于AD中的Microsoft帐户),这非常有效.在应用程序中,API请求通过X-ZUMO-AUTH标头进行身份验证.

现在,对于应用程序的新部分,我有一个C#控制台应用程序,它也需要能够调用该应用程序.这需要独立运行,因此无需请求用户凭据.所以我在Azure AD中创建了一个应用程序,赋予它对Web API实例的权限,并为我提供了一些代码来获取身份验证令牌.然后该标记将传递到HttpClient对象中:

AuthenticationContext ac = new AuthenticationContext(authority);
ClientCredential clientCred = new ClientCredential(clientID, clientSecret);
AuthenticationResult authenticationResult = await ac.AcquireTokenAsync(resource, clientCred);
string authToken = authenticationResult.AccessToken;

HttpClient client = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, endpoint);
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", authToken);
HttpResponseMessage response = await client.SendAsync(request);
Run Code Online (Sandbox Code Playgroud)

服务器身份验证的设置如下:

string aadTenant = configProvider.GetConfigurationSettingValue("ida.Tenant");
string aadAudience = configProvider.GetConfigurationSettingValue("ida.Audience");

app.UseWindowsAzureActiveDirectoryBearerAuthentication(
    new WindowsAzureActiveDirectoryBearerAuthenticationOptions
    { 
        Tenant = aadTenant,
        TokenValidationParameters = new TokenValidationParameters
        {
            ValidAudience = aadAudience
        },
    });
Run Code Online (Sandbox Code Playgroud)

我已经检查了所有变量.我还验证了Bearer令牌是否正确传递给服务(Fiddler显示它).一切似乎都很好,但仍然,服务器继续响应未经授权 …

c# oauth azure-active-directory

5
推荐指数
0
解决办法
5113
查看次数

VSTS NuGet还原失败(代理?)

到目前为止,我们一直在使用Azure VM来构建应用程序。由于法律要求,我们被指示将这些活动转移到位于代理后面的本地服务器上。现在,我看到构建失败并显示以下日志消息:

##[error]getaddrinfo ENOTFOUND dist.nuget.org dist.nuget.org:443
Run Code Online (Sandbox Code Playgroud)

所以我假设这可能是由于nuget代理配置。因此,我尝试添加具有正确代理设置的nuget.config文件,然后将其检查到解决方案中,但这没有任何改变。还尝试下载CLI并设置nuget代理配置设置,但同样无济于事。

奇怪的是;当我从cmd在本地运行命令时,一切正常!所以我一定在这里想念什么,但是呢?

proxy nuget nuget-package-restore azure-pipelines

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