我有以下实体类:
public class FacebookComment : BaseEntity
{
[BsonId(IdGenerator = typeof(ObjectIdGenerator))]
[BsonRepresentation(MongoDB.Bson.BsonType.ObjectId)]
[JsonProperty("_id")]
public ObjectId Id { get; set; }
public int? OriginalId { get; set; }
public DateTime Date { get; set; }
public string Message { get; set; }
public string Sentiment { get; set; }
public string Author { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
当此对象序列化为JSON时,我希望Id字段写为"_id":{...}.AFAIK,我只需要将所需的属性名传递给JsonProperty属性; 我应该好好去.但是,当我调用JsonConvert.SerializeObject; 它似乎忽略了我的属性并改为呈现:
{
Author: "Author name",
Date: "/Date(1321419600000-0500)/",
DateCreated: "/Date(1323294923176-0500)/",
Id: {
CreationTime: "/Date(0)/",
Increment: 0,
Machine: 0,
Pid: 0,
Timestamp: 0
},
Message: …Run Code Online (Sandbox Code Playgroud) 我目前正在尝试使用ASP.Net配置文件来存储有关在我们网站上注册的用户的其他用户信息.
相关示例代码:
UserProfile.cs
public class UserProfile: System.Web.Profile.ProfileBase
{
public static UserProfile GetUserProfile(string username)
{
return Create(username) as UserProfile;
}
public static UserProfile GetUserProfile()
{
return GetUserProfile(Membership.GetUser().UserName);
}
public string FacebookUid
{
get
{
return base["FacebookUid"] as string;
}
set
{
base["FacebookUid"] = value;
}
}
}
Run Code Online (Sandbox Code Playgroud)
Web.config文件
<profile enabled="true" inherits="WIF.Web.STS.Classes.UserProfile" defaultProvider="XmlProfileProvider" >
<properties>
<add name="FacebookUid" />
</properties>
<providers>
<add name="XmlProfileProvider" type="Artem.Web.Security.XmlProfileProvider, Artem.Web.Security.Xml" applicationName="/" fileName="Profiles.xml" folder="~/App_Data/"/>
</providers>
</profile>
Run Code Online (Sandbox Code Playgroud)
Register.aspx.cs
profile = WIF.Web.STS.Classes.UserProfile.GetUserProfile(emailAddress);
profile.FacebookUid = "";
Run Code Online (Sandbox Code Playgroud)
当我离开web.config中定义的FacebookUid时; 我从web.config收到此错误:
Configuration Error: This profile …Run Code Online (Sandbox Code Playgroud) 无法在官方TS文档,其他Tweetsharp SO帖子中找到这个,或者在图书馆的课程中挖掘; 所以我想我会问.如何使用Tweetsharp检索特定用户的最新推文列表?
您可以假设我正在使用跟随我想要检索的推文的用户的帐户进行身份验证.我甚至可以使用用户自己的帐户进行身份验证.
我想动态创建带有动态名称的变量,以便以后在我的转换中使用,但要做到这一点,我需要动态生成XSL,然后在同一个脚本中运行它.
这只是我正在寻找的一个粗略的伪代码示例.
<xsl:for-each select="//constants/constant" >
<xsl:variable >
<xsl:attribute name="name">
<xsl:value-of select="@name"/>
</xsl:attribute>
<xsl:attribute name="select">
<xsl:value-of select="@value"/>
</xsl:attribute>
</xsl:variable>
</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)
我可以使用XSL动态构建XSL以便稍后在同一个脚本中运行吗?
注意:我们的XML通过运行CL XSL转换引擎的批处理进行转换; 因此,仅在XSL文档中引用XSL样式表不是一种选择.
我们需要渲染一个ActionResulta string来向我们的内部搜索引擎索引添加页面.我们决定将此解决方案渲染为字符串.
我遇到了ExecuteResult用于处理View 的调用的问题.
var oldController = controllerContext.RouteData.Values["controller"];
controllerContext.RouteData.Values["controller"] =
typeof(TController).Name.Replace("Controller", "");
viewResult.ExecuteResult(controllerContext); // this line breaks
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
"Object reference not set to instance of object" error.
我已经确认viewResult不是null,所以必须在内部抛出异常ExecuteResult.
我们还能错过什么?
我有一个自定义错误控制器,如下所示:
public class ErrorsController : BaseController
{
public ActionResult RaiseError(string error = null)
{
string msg = error ?? "An error has been thrown (intentionally).";
throw new Exception(msg);
}
public ActionResult Error404()
{
Response.TrySkipIisCustomErrors = true;
Response.StatusCode = (int)HttpStatusCode.NotFound;
return View();
}
public ActionResult Error500()
{
Response.TrySkipIisCustomErrors = true;
var model = new Models.Errors.Error500()
{
ServerException = Server.GetLastError(),
HTTPStatusCode = Response.StatusCode
};
return View(model);
}
}
Run Code Online (Sandbox Code Playgroud)
我的Errors500.cshtml看起来像这样:
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Error500</title>
</head>
<body>
<div>
An internal error …Run Code Online (Sandbox Code Playgroud) 我有一个 RESTful 登录 Web 服务。但是,在传递给它的一组凭据无效的情况下,对于最好返回什么状态代码,内部存在争论。我一直在返回 401;但这似乎不正确,因为这意味着您必须已经登录才能使用登录服务。403也被讨论过;但这意味着您已经通过身份验证,但被限制使用给定资源。也许是 404;因为无法找到具有所述凭据的用户。
如果凭据无效,从登录服务返回的正确状态代码是什么?
如果重要的话,这个 REST 登录 API 正在被一个网络应用程序和一个 iPhone 应用程序使用。
在我运行的网站上,我将404和500错误映射为重定向到最终用户的自定义错误页面; 在我的web.config中使用以下代码:
...
...
<system.web>
<customErrors defaultRedirect="/404/default.aspx" mode="RemoteOnly">
<error statusCode="404" redirect="/404/default.aspx" />
</customErrors>
...
...
Run Code Online (Sandbox Code Playgroud)
但是,我有一个我不想重定向的特定页面; 运行状况检查页面以确保站点100%正常运行.我尝试使用web.config中的以下代码设置特定于位置的自定义错误处理程序:
...
...
</system.web>
<location path="health.aspx">
<system.web>
<customErrors defaultRedirect="" mode="RemoteOnly"></customErrors>
</system.web>
</location>
...
...
Run Code Online (Sandbox Code Playgroud)
但是,它似乎不起作用.当我将health.aspx重命名为badhealth.aspx等其他内容时,请发出请求,我希望通过黄屏死机页面获得通用的404错误.同样,通过故意更改代码以引发错误,我应该通过YSOD页面获得500错误.在这两种情况下,我最终被重定向到我们的自定义404页面,然后获得YSOD.思考?
非常感谢任何帮助.
谢谢大家, - 弗兰克
我正在尝试在我创建的一组自定义列表中创建文件夹.但是,当我尝试执行此操作时,功能区中的"新建文件夹"按钮被禁用.我读了这件事; 这导致我在列表设置 - >高级设置中启用文件夹创建.但是,似乎没有在页面上启用文件夹创建的选项.它不应该是与许可相关的问题; 因为我创建了列表; 我也是农场的管理员.
我可以使用文档库; 但我们不会将文件上传到列表中; 所以这就是我需要的.
我有什么选择,或者我做错了什么?
谢谢,弗兰克
在我们的LAMP站点上,我们遇到一些问题,一些服务必须多次调用数据库来提取数据.通常这种方式在PHP中完成(至少我的经验)是连续的; 这显然效率低下.我们可以通过使用缓存和聚合某些查询来缓解一些低效问题; 但在某些情况下,我们仍然需要进行多个数据库调用.
理想情况下,我会尽可能多地同时向db或Web服务发送尽可能多的请求,但PHP似乎并不支持开箱即用的模式.这些是我知道要完成此任务的变通方法.
我们目前使用Gearman来处理异步任务.我可以将一些服务重写为Gearman任务,并使用它来对数据库和服务进行异步调用.然而,我们在使用Gearman消耗大量过程和记忆方面遇到了不好的经历; 强制使用在某些情况下重启我们的生产服务器,因为它们没有响应.但是,我相信由于脚本中的一些错误我能够跟踪这个问题,并且相信我已经修复了它.但是我觉得如果我们使用Gearman作为处理异步任务的任务池/管理器,这种不稳定性和过多的资源消耗可能会再次出现问题.
或者,我正在看pthreads.它似乎是一个更好的选择,因为它不需要运行Gearman守护进程来工作,它完成了我想要的.甚至似乎还有一个像样的框架,amphp.我们决定配置一个启用了pthreads的测试服务器.但是,我们不知道的是pthreads需要更改我们的Apache配置,特别是从httpd(又名prefork)转到httpd.worker.不可否认,我不是一位经验丰富的Apache管理员,所以我甚至不确定进行此项更改的后果是什么.因此,现在我对使用它犹豫不决,至少在我有时间研究这个之前.
所以我的问题是,如果我想在PHP中执行异步请求,我是否应该坚持使用Gearman知道我可能遇到问题,或者我应该冒险使用pthreads,即使它似乎需要更改我的Apache配置我坦率地说,不知道它会如何影响我们的网站?或者,也许,我正在尝试做的事情还有另一种选择,我还不知道.
服务器配置:
c# ×4
asp.net ×3
asp.net-mvc ×2
.net ×1
apache ×1
asynchronous ×1
directory ×1
dynamic ×1
exception ×1
gearman ×1
http ×1
json ×1
json.net ×1
list ×1
mysql ×1
php ×1
profiles ×1
sharepoint ×1
tweetsharp ×1
web-config ×1
xml ×1
xslt ×1