我在FormsAuthentication方面遇到了很多问题, 而且我正在考虑将其存储login在Session?
Login:
Session["Auth.ClientId"] = clientId;
IsAuthenticated:
Session["Auth.ClientId"] != null;
Logout;
Session["Auth.ClientId"] == null;
Run Code Online (Sandbox Code Playgroud)
FormsAuthentication无论如何,我并没有真正使用大部分的花里胡哨.这是一个坏主意吗?
我正在为常用的数据库对象实现数据缓存,我在确定缓存以下场景的最佳策略时遇到了一些困难:
我有一张名为Campaigns的表,有1423条记录.广告系列包含描述目标网页的所有文本和设置.生成登录页面时,将从数据库中提取相应的Campaign.有些登陆页面比其他登陆页面更受欢迎.
(输出缓存是我的下一步,因此无需对此进行评论.)
我正在大声思考:
A)在服务器启动时将所有活动预先加载到Dictionary中并将其放入缓存中.
我已经计算出这将花费大约3.8 MB的服务器内存(OK),并且在首页视图上花费大约8秒钟(OK),并且当前的广告系列数量.唯一的问题是这不能很好地扩展.明天我可能会有10倍的广告系列.此外,我们还需要每天更新和添加新广告系列,并且每次都删除整个广告系列缓存似乎有点矫枉过正.
其中很好的部分是所有广告系列都是缓存的,因此在访问未访问的目标网页时(例如搜索引擎)没有启动时间.
B)延迟加载:使用"广告系列.[id]"等密钥单独缓存每个广告系列.
这样可以很容易地杀死或添加各种活动,并且我可以使用Sliding功能(如SlidingExpiration)来减少使用较少的广告系列.唯一的问题是,当搜索引擎访问一个很少访问的页面时,就是加载广告系列的时候.另一个问题是Cache充满了大量的密钥.
C)懒惰加载到字典中与B)相同的bennefins并且缓存不会被大量的键混乱,但不能使用缓存功能,如果内存紧张,整个字典将被转储.
你怎么看?我倾向于B).
此外,我还有一个场景,我需要通过id或代码(字符串)获取Campaigns.
在下面的:
Campaigns campaign = //Get campaign from database:
Cache["Campaigns.Id."+campaign.Id.ToString()] = campaign; //Id is Guid
Cache["Campaigns.Code."+campaigns.Code] = campaign;
Run Code Online (Sandbox Code Playgroud)
这会花费我两倍的内存或仅用于另一个索引参考吗?
我有一个页面,其控件是输出缓存(部分输出缓存).这些设置如下:
[PartialCaching(86400, null, null, "campaign.whatwhere", true)]
public partial class controls_LatestEnquiriesListCached : System.Web.UI.UserControl
{
...
Run Code Online (Sandbox Code Playgroud)
同
public override string GetVaryByCustomString(HttpContext context, string custom)
{
if (custom == "campaign.whatwhere")
{
return (CampaignManager.CurrentCampaign.DefaultWorkTypeId ?? 0).ToString() + (CampaignManager.CurrentCampaign.DefaultEnquiryAreaId ?? 0).ToString();
}
return base.GetVaryByCustomString(context, custom);
}
Run Code Online (Sandbox Code Playgroud)
在 Global.asax
如何设置以便我可以在特定页面上清除此输出缓存?
有可能设置像MyPageWithCachedControl.aspx?ClearCache=true???
我一直在SQL Server 2005数据库中使用Narayana Vyas Kondreddi的优秀存储过程sp_generate_inserts http://vyaskn.tripod.com/code/generate_inserts.txt.
但是在转移到SQL Server 2008后,我得到了奇怪的结果,其中在UNIQUEIDENTIFIER值之后插入了一个长空格:
INSERT INTO [BannerGroups]([Id], [DescriptionText], [Width], [Height])
VALUES('BFCD0173-9432-47D1-84DF-8AB3FB40BF76 ', 'Example', 145, NULL)
Run Code Online (Sandbox Code Playgroud)
有人知道怎么修这个东西吗?
sql-server stored-procedures sql-server-2005 sql-server-2008
我正在构建一个ExcelDNA插件,需要完整版的.Net(4.0或3.5)(我正在使用System.Web的某些部分).因此,仅具有客户端版本的用户会收到错误.
如果只安装了客户端版本,我想在启动时提示用户"获取最新版本"弹出窗口.
是否有任何万无一失的方法来检查是否安装了完整版本?通过谷歌搜索似乎很多建议检查注册表,这似乎容易出错,因为有许多.Net版本.在这种情况下,我需要检查哪些路径来构建:
bool IsFullDotNetVersion()
{
}
Run Code Online (Sandbox Code Playgroud)
是否有可能/好主意检查是否存在仅在完整版中可用的功能?即是否可以检查System.Web是否存在于环境中?(不包括在.Net的客户端版本中吗?)
作为一个附带问题:如何使用我系统上安装的不同.net版本轻松测试我的应用程序.有没有.Net切换器?
重新安装计算机后,我在使用旧的完美工作的flourinefx应用程序时出现问题.
对于某些函数调用(我认为那些包含自定义对象),我得到:
2013-01-15 19:03:53,616 [27] ERROR FluorineFx.MethodHandler - Could not find a suitable method with name GetTodayView
2013-01-15 19:03:53,616 [27] ERROR FluorineFx.MethodHandler - Displaying verbose logging information
2013-01-15 19:03:53,616 [27] ERROR FluorineFx.MethodHandler - Checking GetTodayView(query(Query))
2013-01-15 19:03:53,616 [27] ERROR FluorineFx.MethodHandler - query(Query) did not match value "Offerta.DAL.Queries.Query" (Query)
2013-01-15 19:03:53,633 [27] ERROR FluorineFx.Messaging.Endpoints.Filter.ProcessFilter - Could not find a suitable method with name GetTodayView
FluorineFx.Exceptions.FluorineException: Could not find a suitable method with name GetTodayView
at FluorineFx.MethodHandler.GetMethod(Type type, String methodName, IList arguments, …Run Code Online (Sandbox Code Playgroud) 使用GIT(在TFS中)在错误的分支中工作非常烦人.有没有办法配置Visual Studio以清楚地显示当前活动的分支?就像把它放在标题栏中一样?
如果什么都不存在,也许有可能破解http://erwinmayer.com/labs/visual-studio-2010-extension-rename-visual-studio-window-title/(源代码http://vswindowtitle.codeplex.com /)是否知道获取VS当前项目的当前GIT分支的代码?
我在Azure上运行的php应用程序有问题.Web.config不知何故被修改为自己的副本:
这就是我现在发现的方式:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="YOURLS" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="/yourls-loader.php" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration><?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="YOURLS" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="/yourls-loader.php" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
显然这会导致错误.怎么了?
这是Azure中的错误吗?
使用以下代码:
<svelte:head>
<script type='application/ld+json'>
{
"@context": "https://schema.org",
"@type": "Organization",
"url": "https://filestar.com",
"logo": "https://filestar.com/logo-512.png"
}
</script>
</svelte:head>
Run Code Online (Sandbox Code Playgroud)
在获得:
[svelte-preprocess] Error transforming 'ld+json'.
Message:
Cannot find module './transformers/ld+json'
Stack:
Error: Cannot find module './transformers/ld+json'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
at Function.Module._load (internal/modules/cjs/loader.js:507:25)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
at Promise.resolve.then (C:\Repos\Filestar-Website\web-vnext\node_modules\svelte-preprocess\dist\utils.js:112:61)
Run Code Online (Sandbox Code Playgroud)
我已经尝试了这个 github 线程中的建议,结果相同:https : //github.com/sveltejs/svelte/issues/2438
有没有办法(通过扩展机制?)让Sum()函数全部返回0.
我现在的解决方法是写这样的,但我希望有更好的解决方案?
((int?)e.CampaignCodes.Sum(f => f.Enquiries.Count()) ?? 0),
Run Code Online (Sandbox Code Playgroud) c# ×4
asp.net ×3
.net ×2
apache-flex ×1
azure ×1
caching ×1
flourinefx ×1
git ×1
global-asax ×1
iis ×1
linq-to-sql ×1
null ×1
sapper ×1
sql-server ×1
svelte ×1
svelte-3 ×1
web-config ×1