我正在使用Azure存储来提供静态文件blob,但我希望在提供服务时为文件/ blob添加Cache-Control和Expires标头以降低带宽成本.
像CloudXplorer和Cerebrata的Cloud Storage Studio这样的应用程序提供了在容器和blob上设置元数据属性的选项,但在尝试添加Cache-Control时会感到不安.
有人知道是否可以为文件设置这些标头?
我正在创建一个服务来监视FTP位置以获取新更新,并且需要能够使用WebRequestMethods.Ftp.ListDirectoryDetails方法解析从FtpWebRequest响应返回的响应.如果所有响应都遵循相同的格式,但不同的FTP服务器软件提供不同的响应格式,这将是相当容易的.
例如,可能会返回:
08-10-11 12:02PM <DIR> Version2
06-25-09 02:41PM 144700153 image34.gif
06-25-09 02:51PM 144700153 updates.txt
11-04-10 02:45PM 144700214 digger.tif
Run Code Online (Sandbox Code Playgroud)
另一台服务器可能会返回:
d--x--x--x 2 ftp ftp 4096 Mar 07 2002 bin
-rw-r--r-- 1 ftp ftp 659450 Jun 15 05:07 TEST.TXT
-rw-r--r-- 1 ftp ftp 101786380 Sep 08 2008 TEST03-05.TXT
drwxrwxr-x 2 ftp ftp 4096 May 06 12:24 dropoff
Run Code Online (Sandbox Code Playgroud)
并且还观察到其他差异,因此可能存在一些我尚未遇到的细微差别.
有没有人知道完全托管(不需要访问Windows上的外部DLL)C#类无缝地处理这些情况?
我只需要列出具有以下详细信息的目录内容:文件/目录名称,上次更新或创建的时间戳,文件/目录名称.
提前感谢任何建议,加文
当用户使用IdentityServer3登录时,我想绕过同意屏幕,默认情况下授予所有同意.有没有办法配置这个?
这是我想绕过的屏幕:
我们有一个ASP.NET MVC应用程序,在没有针对IdentityServer3的问题的情况下进行身份验证,但是如果用户在大约3分钟后继续使用AJAX功能之前等待使用ApiController的应用程序的Web API部分开始失败(3分钟之前一切似乎都很好) .
Chrome中出现的错误包括:
XMLHttpRequest无法加载 https://test-auth.myauthapp.com/auth/connect/authorize?client_id=ecan-farmda ... gwLTk5ZjMtN2QxZjUyMjgxNGE4MDg2NjFhZTAtOTEzNi00MDE3LTkzNGQtNTc5ODAzZTE1Mzgw.请求的资源上不存在"Access-Control-Allow-Origin"标头.因此,不允许来源" http://test.myapp.com "访问.
在IE上我收到以下错误:
SCRIPT7002:XMLHttpRequest:网络错误0x4c7,操作被用户取消.
看看IdentityServer3的日志,我看到的条目如下:
2015-08-10 16:42 [警告](Thinktecture.IdentityServer.Core.Configuration.Hosting.CorsPolicyProvider)对路径的CORS请求:/ connect/authorize from origin:http://test.myapp.com 但拒绝因为无效CORS路径
在IdentityServer3 Web应用程序中,我向客户提供AllowedCorsOrigins:
Thinktecture.IdentityServer.Core.Models.Client client = new Thinktecture.IdentityServer.Core.Models.Client()
{
Enabled = configClient.Enabled,
ClientId = configClient.Id,
ClientName = configClient.Name,
RedirectUris = new List<string>(),
PostLogoutRedirectUris = new List<string>(),
AllowedCorsOrigins = new List<string>(),
RequireConsent = false, // Don't show consents screen to user
RefreshTokenExpiration = Thinktecture.IdentityServer.Core.Models.TokenExpiration.Sliding
};
foreach (Configuration.RegisteredUri uri in configClient.RedirectUris)
{
client.RedirectUris.Add(uri.Uri);
}
foreach (Configuration.RegisteredUri uri in configClient.PostLogoutRedirectUris)
{ …
Run Code Online (Sandbox Code Playgroud) 我有一个基于 Linux 的 Docker 容器,正在运行一个似乎存在内存泄漏的应用程序。大约一周后,对应用程序的请求开始失败,容器需要重新启动才能重置其状态并使一切重新正常工作。
应用程序报告的错误是:
java.lang.OutOfMemoryError: Java heap space
Run Code Online (Sandbox Code Playgroud)
是否有一种通用方法可用于触发重新启动,重置其状态,无论使用哪个服务来托管它?如果没有一个好的通用解决方案,我将尝试一下 DigitalOcean,那么也许有一个 DigitalOcean 特定的解决方案可以替代?
我正在尝试从我的Windows Phone 8应用程序访问SQLite数据库,但每当遇到SQLite代码时遇到以下错误:
{System.IO.FileNotFoundException: The specified module could not be found. (Exception from HRESULT: 0x8007007E)
at System.StubHelpers.StubHelpers.GetWinRTFactoryObject(IntPtr pCPCMD)
at Sqlite.Sqlite3.sqlite3_open_v2(String filename, Database& db, Int32 flags, String zVfs)
at SQLite.SQLite3.Open(String filename, Database& db, Int32 flags, IntPtr zVfs)
at SQLite.SQLiteConnection..ctor(String databasePath, SQLiteOpenFlags openFlags, Boolean storeDateTimeAsTicks)
at TopoMap.Map.MapTileServer.<Initialise>d__0.MoveNext()}
Run Code Online (Sandbox Code Playgroud)
项目运行正常,没有任何问题,直到访问基础Sqlite3类的一行代码.
任何想法可能是什么问题?
我们在ASP.NET 4.0上使用MVC 3使用Windows身份验证的ASP.NET应用程序.
从Visual Studio 2010运行时,一切都按预期工作,但当推出到IIS7时,Windows登录用户永远不会被填充(检查User.Identity.Name).也没有出现用户凭据的对话框提示.
web.config设置:
<authentication mode="Windows" />
Run Code Online (Sandbox Code Playgroud)
在IIS中,我可以看到启用了Windows身份验证,Anonymous也是如此(禁用匿名会导致403 Forbidden,并且不会显示任何内容).
我已尝试启用和禁用"内核模式身份验证"(useKernelMode ="true"),但这似乎没有任何区别.虽然我确实记得我们必须在不同服务器上的另一个站点上禁用此设置,以使身份验证正常工作(可能指向堆栈中的潜在问题?).
如果它有用,来自IIS的applicationHost.config:
<security>
<authentication>
<anonymousAuthentication enabled="true" />
<digestAuthentication enabled="false" />
<basicAuthentication enabled="false" />
<windowsAuthentication enabled="true" useKernelMode="false">
<providers>
<clear />
<add value="NTLM" />
</providers>
</windowsAuthentication>
</authentication>
</security>
Run Code Online (Sandbox Code Playgroud)
任何想法可能是什么问题?
在此先感谢您的任何建议.
更新1
我设法找到另一个IIS7服务器进行测试,我发现如果我禁用匿名访问一切按预期工作.但是,即使我禁用匿名访问,我仍然在原始IIS7服务器上遇到问题(我现在禁用Anonymous).所以我猜想在堆栈中必须有一些问题.有任何想法吗?我需要修理的东西,因为它会不断弹出并咬我们想象.
更新2
如果我在问题IIS7框上启用摘要式身份验证,那么我将面临登录提示对话框的挑战,如果我提供合适的凭据,一切都按预期工作.但作为一个内部网络应用程序,用户已经登录到域,我们真的不想以这种方式挑战他们.凭据应该透明地传递,因为它在第二个IIS7框上工作.
更新3
一些进展......我发现如果Web应用程序位于根目录而不是子站点,那么直接编辑IIS7的applicationHost.config文件以提供以下身份验证设置,允许该站点按预期工作:
<authentication>
<anonymousAuthentication enabled="false" />
<windowsAuthentication enabled="true">
<providers>
<clear />
<add value="NTLM" />
</providers>
</windowsAuthentication>
<digestAuthentication enabled="false" />
</authentication>
Run Code Online (Sandbox Code Playgroud)
使用IIS7的UI配置身份验证并不能提供正确的结果.在病房之后缺少身份验证项目(因为我猜IIS7假定它们被继承)或者它们的设置错误(windowsAuthentication似乎需要上面的提供程序配置才能正常工作).
不幸的是,有问题的Web应用程序实际上是一个子应用程序,因为它有一个内部版本(使用Windows身份验证> www.site.com/internal)和一个外部版本(使用表单身份验证> www.site.com/external).我仍然无法将身份验证作为子应用程序工作.我只得到一个"错误代码:403 Forbidden".
有没有人知道我的应用程序可以使用的Windows Phone 8的良好数据库或NoSql引擎?
我需要能够从SD卡打开只读数据库文件.它需要能够处理存储blob(png图像),因为我想使用它来提供离线使用的地图图块.需要将100,000个图像切片存储在数据库中.
我已经通过C#包装器试用了SQLite for Windows Phone,但我似乎无法使用SD卡上的数据库文件.
Windows Phone应用程序访问位于SD卡上的文件存在一些限制,但有可能:http: //msdn.microsoft.com/library/windowsphone/develop/jj720573%28v=vs.105%29.aspx
Microsoft员工关于我对SQLite的困难的反馈:
Windows Phone应用程序可以使用Microsoft.Phone.Storage API从SD卡读取特定文件类型.
我希望手机的SQLite实现尝试使用标准C文件API而不是使用存储对象来打开数据库,因此要求数据库位于Xap或独立存储中,并且无法访问SD卡上的数据库(这是绝对适用于Windows Store应用程序的SQLite).
来自SQLite SDK社区的反馈:
显然,为具有某些C++技能的人添加对SQLite SDK的支持应该是相当直接的(我的有点生锈!):
回复:
我原来的问题:
使用IdentityServer3我需要在用户完成注册过程后自动登录并将本地用户重定向回客户端应用程序.有一种优雅的方式来做到这一点?从我的挖掘中我怀疑不是,在哪种情况下我可以用来实现这个目标?
我能够使用自定义用户服务为外部用户实现此目的,但这使用了部分登录.但是,对于本地用户,在用户名和密码登录之前,他们不在用户服务处理的身份验证过程中.
另请注意,我无法访问用户密码,因为注册过程由多个屏幕/视图覆盖,因为在这种情况下,他们需要在注册过程中验证其电子邮件.
进展:
我找到了这个https://github.com/IdentityServer/IdentityServer3/issues/563,但还没有找到如何触发重定向.
我正在尝试使用以下方式发出身份验证令牌:
var localAuthResult = userService.AuthenticateLocalAsync(user);
Request.GetOwinContext().Authentication.SignIn(new ClaimsIdentity(localAuthResult.Result.User.Claims, Thinktecture.IdentityServer.Core.Constants.PrimaryAuthenticationType));
Run Code Online (Sandbox Code Playgroud)
但到目前为止我能做的最好的事情是将用户重定向回登录界面:
HttpCookie cookie = Request.Cookies["signin"]; // Stored previously at beginning of registration process
return Redirect("~/core/login?signin=" + cookie.Value);
Run Code Online (Sandbox Code Playgroud) 我刚刚将VS 2008项目升级到VS 2010,转换项目但将目标保持为.NET 3.5(已安装SP1).我的项目在另一台机器上的VS 2008下没有问题.
我添加了对System.Web.Extensions.dll的引用,但我仍然从App_Code文件夹中的代码中获得以下错误:
1)找不到System.Web.Script.Service命名空间.
2)未定义类型"System.Web.Script.Services.ScriptService".
3)未定义类型'System.Runtime.Serialization.Json.DataContractJsonSerializer'.
任何人都有任何想法可能是什么问题,因为我很难过?:(