我有一个Azure网络应用程序,我正在从VSTS部署.这之前工作正常,但现在返回以下内容:
2018-08-07T14:24:57.1655319Z信息:添加目录(dsadminportal-dev\wwwroot\assets\css\plugins\datapicker).
2018-08-07T14:24:58.2654020Z ## [错误]无法将Web包部署到App Service.
2018-08-07T14:24:58.2665943Z ## [错误]错误:(8/7/2018 2:24:57 PM)在远程计算机上处理请求时发生错误.
错误:在"D:\ home\site\wwwroot\wwwroot\assets\css\plugins\datapicker"上处理"创建目录"操作时遇到错误.错误:错误代码为0x800703E6.错误:对内存位置的无效访问.
at Microsoft.Web.Deployment.NativeMethods.RaiseIOExceptionFromErrorCode(Win32ErrorCode errorCode,String maybeFullPath)at Microsoft.Web.Deployment.FileSystemInfoEx.set_Attributes(FileAttributes value)at Microsoft.Web.Deployment.DirPathProviderBase.Add(DeploymentObject source,Boolean whatIf)错误计数:1.
这是一个插槽.我删除了插槽并重新创建了它并且第一次部署得很好,但后续部署失败并出现上述错误.
这意味着什么?
谢谢
我有一个基于REST的服务,用户可以返回自己的书籍列表(这是一个私人列表).
该URL目前是 ../api/users/{userId}/books
每次调用时,他们还将提供先前提供的身份验证令牌.
我的问题是:
提供userIdURL冗余?当我们通过每个呼叫获得令牌时,我们可以找出正在执行呼叫的用户并返回他们的书籍列表.这userId不是严格要求的.
删除userId破解REST原则/users/books/看起来应该返回所有用户的所有书籍?
我是否应该咬住子弹并根据令牌对它们进行身份验证,然后检查令牌是否属于同一个userId?
我有一个绑定到ViewModel的Xamarin表单.创建此ViewModel时,我希望它以异步方式从数据库中获取数据.我的问题是我不确定如何调用异步方法,因为构造函数无法调用异步方法,并且getter无法调用异步方法.
我在UI中使用纯XAML,XAML是否可以在初始化时调用方法?
我的ViewModel:
public class DonorViewModel : BaseViewModel
{
public DonorViewModel (IRepository<Donor> donorRepository)
{
_donorRepository = donorRepository;
}
private string _name;
public string Name {
get {
return _name;
}
set {
if (_name != value) {
_name = value;
OnPropertyChanged ("Name");
}
}
}
private IRepository<Donor> _donorRepository;
private async Task GetName()
{
var donor = await _donorRepository.Get(d => d.Id == 1);
Name = donor.Name;
}
}
Run Code Online (Sandbox Code Playgroud)
我的XAML:
<?xml version="1.0" encoding="UTF-8"?>
<d:ViewPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="DonationExample.DonorView"
xmlns:d="clr-namespace:DonationExample;assembly=DonationExample"
x:TypeArguments="local:DonorViewModel"
xmlns:local="clr-namespace:DonationExample">
<ContentPage.BindingContext>
</ContentPage.BindingContext> …Run Code Online (Sandbox Code Playgroud) 我正在将IdentityServer4用作身份验证服务。
将使用此客户端的是Angular应用程序。从所有示例中,我已经看到客户端被重定向到身份服务器上托管的页面,该页面之后将返回给客户端。
为了获得用户体验,我希望一直将用户保持在我的页面上。因此,这引出了两个问题:
身份服务器UI可以显示在站点的DIV或iframe中吗?我猜iframe有点皱眉?
如果上述方法不可行,是否可以在客户端应用程序而非身份服务器上托管登录UI?
我想对于UX小组来说,这更是一个问题,但我会认为,将用户留在站点中会带来更好的用户体验,而不是完全重定向他们?
谢谢
我有一个模特:
public class DTO
{
public int[] StatementItems { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我要验证的是:
StatementItems 不是空的StatementItems 不是空的 StatementItems 不包含任何重复的ID我创建的验证规则链是:
RuleFor(x => x.StatementItems).NotNull().NotEmpty().Must(x => x.Distinct().Count() == x.Count());
Run Code Online (Sandbox Code Playgroud)
我有一个测试:
_validator.ShouldHaveValidationErrorFor(x => x.StatementItems, null as int[]);
Run Code Online (Sandbox Code Playgroud)
当我运行测试传递一个空值时,我希望它在chain(NotNull())的第一个规则上失败并停在那里.但是,它抱怨使用的lamda值为Must()null.
我认为Must()如果NotNull()失败不应该运行我错了吗?如果是这样,该规则应如何编写?
谢谢
我部署了V2函数,该函数具有未处理的异常。我希望(并认为是在V1中)在错误日志中看到堆栈跟踪和行号,但是我得到的只是:
System.Private.CoreLib:执行功能:MyFunction时发生异常。MyProjectNameToCall:对象引用未设置为对象的实例。
我需要设置一些配置才能看到它吗?
谢谢
我使用的包ngx-cookieconsent将模块导入为:
const cookieConfig: NgcCookieConsentConfig = {
"cookie": {
"domain": "localhost"
},
...
"theme": "block",
"content": {
"policy": "Cookie Policy"
}
};
...
@NgModule({
imports: [
NgcCookieConsentModule.forRoot(cookieConfig)
]
但是,配置上的域属性将在运行时设置,因此我不能将其定义为常量。为了解决这个问题,我做了以下工作:
创建一个ConfigurationService获取配置并存储它的:
@Injectable()
export class ConfigurationService {
private configuration: IServerConfiguration;
constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }
loadConfig() {
return this.http.get<IServerConfiguration>(this.baseUrl + 'Configuration')
.pipe(
tap(config => {
this.configuration = <IServerConfiguration>(config);
})
)
.toPromise();
}
public domain(): string {
return this.configuration.domain;
}
}
Run Code Online (Sandbox Code Playgroud)
这被设置为APP_INITIALIZER首先调用配置:
export function …Run Code Online (Sandbox Code Playgroud) 我正在两个对象之间进行映射,并且根据源的条件,我希望目标为空。
例如,以下是这些类:
public class Foo
{
public int Code { get; set; }
public string Name { get; set; }
}
public class Bar
{
public string Name { get; set; }
public string Type { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
还有我的地图:
Mapper.CreateMap<Foo, Bar>()
.AfterMap((s, d) => { if (s.Code != 0) d = null; });
Run Code Online (Sandbox Code Playgroud)
但似乎忽略了AfterMap。尽管具有所有默认属性,但 Bar 已初始化。
如何让映射器根据 Code 不等于 0 返回 null?
谢谢
我在 Azure 中有两个现有的重复数据库(比如 Customers 和 CustomerPrev),其中一个比另一个新。
我有另一个 Azure 数据库,我想查询另外两个数据库。我已经为第一个创建了一个外部表,但我无法为另一个数据库创建外部表,因为名称已经存在。
我可以为外部表使用不同的名称吗?如果是这样,我如何将它们与实际表相匹配?
谢谢
我有一个现有的Azure函数,该函数解压缩文件并将每个文件添加为blob。
我现在想遍历这些文件并执行它们(它们是SQL文件)。我不想触发基于Blob创建的功能,而是在一个功能中通过它们全部运行。
在函数中,如何迭代容器中的斑点列表并获取其内容?
谢谢
我有一个类似于以下的源类:
public class Source
{
public Field[] Fields { get; set; }
public Result[] Results { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
并具有以下目标类:
public class Destination
{
public Value[] Values { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
所以我想从任一地图Fields或Results以Values取决于哪一个不为空(只有一个永远不会有一个值)。
我尝试了以下地图:
CreateMap<Fields, Values>();
CreateMap<Results, Values>();
CreateMap<Source, Destination>()
.ForMember(d => d.Values, opt =>
{
opt.PreCondition(s => s.Fields != null);
opt.MapFrom(s => s.Fields });
})
.ForMember(d => d.Values, opt =>
{
opt.PreCondition(s => s.Results != null);
opt.MapFrom(s => s.Results);
});
Run Code Online (Sandbox Code Playgroud)
唯一的问题是,它看起来是否最后一张.ForMember …
我已将 pfx 证书作为机密上传到我的 Azure 门户,现在我想用它来签署 IdentityServer4 中的凭据。
我使用以下方法在 api 启动时引用了保险库:
builder.AddAzureKeyVault(
$"https://{config["Vault"]}.vault.azure.net/",
config["ClientId"],
config["ClientSecret"]);
Run Code Online (Sandbox Code Playgroud)
但不太确定如何获取证书以传递给:
services.AddIdentityServer()
.AddSigningCredential(...)
Run Code Online (Sandbox Code Playgroud)
是否可以直接从密钥保管库引用证书,或者我是否需要将证书部署到运行 api 的 Web 应用程序?
谢谢