有时我们需要在SharePoint中执行小型管理任务.一个简单的PowerShell脚本是一个非常好的工具.例如,这样的脚本可以枚举列表的事件处理程序:
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$site = new-object Microsoft.SharePoint.SPSite($args[0])
$site.RootWeb.Lists["MyList"].EventReceivers > C:\MyListHandlers.txt
Run Code Online (Sandbox Code Playgroud)
据了解,类似的对象SPSite
,并SPWeb
必须Dispose()
在通话后-d,否则会出现内存泄漏.最好的是打电话
$site.RootWeb.dispose()
$site.dispose()
Run Code Online (Sandbox Code Playgroud)
在这个脚本的末尾.但是如果这是一个只运行一次的Powershell脚本,并且我们知道PowerShell在执行后会清理 - 那么不调用dispose()是不是很糟糕?
所以,我的问题是 - 如果有时我运行这样的脚本,会有一些危险吗?它会影响SharePoint场(或我运行脚本的服务器)的整体稳定性吗?
我有一个我刚刚重新考虑的php应用程序.不幸的是,它喷出了警告:
警告:preg_match()要求参数2为字符串,对象在第776行的/home/yacoby/dev/netbeans/php/Zend/Db/Select.php中给出
由于我没有callstack,所以不可能(或非常努力)解决问题,因此无法分辨我的代码的哪些部分导致警告并且有很多代码.
我需要一种方法来处理错误之类的警告(因为应用程序死了并打印堆栈跟踪)或者我需要在打印错误时显示堆栈跟踪.有没有办法做到这一点?
我在SO" jQuery Linking vs. Download "中阅读了这个问题,但我不明白.
如果你主持一个页面http://yourserver.com
,但从中加载jQuery库http://ajax.googleapis.com
然后使用jQuery脚本中定义的函数会发生什么?
在这种情况下,"同源政策"不计算在内吗?我的意思是,你能回复AJAX http://yourserver.com
吗?
被执行的JavaScript是否被视为来自yourserver.com
?
我的观点是,你不知道用户从某个第三方服务器下载了什么(对不起,谷歌),而且他的计算机上执行的代码仍然是他从你的服务器上下载的代码?
编辑:这是否意味着_如果我使用来自第三方的网络统计计数器我不太了解,他们可能会"注入"一些代码并调用我的网络服务,好像他们的代码是我的一部分?
给出以下示例:http://jsfiddle.net/A8v9x/4/ - 当您单击第一个链接然后返回页面时,第一个链接变为绿色.但是,即使访问过的链接被声明有,它仍然没有下划线text-decoration:underline;
.即使添加!important
到该规则,也不会发生任何变化.
在CSS规范中找不到有关此类行为的任何信息.这是一个常见的浏览器错误吗?如何解决这个问题?
据我所知,每个字符串都是Javascript中的一个对象.尽管如此,它"无法正常工作",正如我所期望的那样:
var a="abc"; //here we get a new string object
a.b = 123; //I seem to declare a property "b" of that object
alert(a.b); //alerts "undefined"
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试以"错误的方式"定义字符串,一切都按预期工作
var a=new String("abc"); //
a.b = 123;
alert(a.b); //alerts "123"
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
一位同事让我解释索引(指数?)如何提升绩效; 我试图这样做,但我自己也搞糊涂了.
我使用下面的模型进行说明(错误/诊断日志记录数据库).它由三个表组成:
System
和TraceTypes
表的外键我使用MySQL进行演示,但我不记得我使用过的表格类型.我认为这是InnoDB.
System TraceTypes
----------------------------- ------------------------------------------
| ID | Name | | ID | Code | Description |
----------------------------- ------------------------------------------
| 1 | billing | | 1 | Info | Informational mesage |
| 2 | hr | | 2 | Warning| Warning only |
----------------------------- | 3 | Error | Failure |
| ------------------------------------------
| ------------|
Traces | |
--------------------------------------------------
| ID | System_ID | TraceTypes_ID | Message |
-------------------------------------------------- …
Run Code Online (Sandbox Code Playgroud) 我正在设计一个Web部件,用户可以在其中输入搜索词组,为此寻找MOSS搜索索引.我用FullTextSqlQuery
class进行搜索.
当我创建select
语句时,我显然必须使用连接来包含用户的输入.最终的陈述应该是这样的:
SELECT title, author from portal..scope()
WHERE ("SCOPE" = 'TheDocuments')
AND CONTAINS(MYPROPERTY, 'TheValueThatuserSpecified')
Run Code Online (Sandbox Code Playgroud)
那么,问题是,如何避免用户输入的SQL(?)注入?那是否有一些特定的效用函数?在我使用的php/mysql项目中mysql_real_escape_string
.SharePoint命名空间中有类似的东西吗?
我使用以下代码签出然后签入文件.我使用IronPython.(假设spfile是SPFile对象)
spfile.CheckOut()
spfile.CheckIn("Done by the script")
spfile.Update()
spfile.CheckOut()
spfile.CheckIn("Done by the script-Second time")
Run Code Online (Sandbox Code Playgroud)
该文件是第一次签入.但第二次,它抛出一个异常,说明该文件已在SHAREPOINT\system的特定时间被修改.我发现这个模糊不清,因为我已经更新了文件.任何帮助,将不胜感激
我试图通过查询字符串传递一个值来填充NewForm.aspx列表中的字段.示例:http://example.com/Lists/mylist/Newform.aspx?ID = 3
我被限制使用JavaScript并且必须坚持使用查询字符串.这可能吗?
有时,用户需要更改SharePoint列表项中不可编辑的信息,例如,以编辑形式隐藏的字段(在我的情况下,它是记录编号).
我决定创建一个小型Windows GUI应用程序,管理员可以在服务器上运行该应用程序并进行所请求的更改.但是,获取SPListItem
我发现的实例的最简单方案是:
SPSite
ojbect创建,使用给定的URL:SPSite oSite=new SPSite(this.txtURL.text);
SPWeb
对象被创建为SPWeb oWeb = oSite.OpenWeb(this.txtWebUrl.text);
oWeb.Lists
SPListItem
找到所需的oWeb.Lists[this.lstAllLists.selectedValue].GetItemById(this.txtItemId.value);
这是一条很长的路径,管理员不喜欢打字,点击和等待.
他们想复制listitem显示表单的URL(从Web浏览器或某人的电子邮件中),将其粘贴到更新工具中,然后只需单击"Find it!"即可.
我需要提示如何做到这一点.
我知道我可能用正则表达式解析URL,因为它通常是以形式http://server/sites/[somesite]/[someweb/somesubweb]/lists/[somelist]/forms/dispform.aspx?ID=[123]
存在,但存在变化 - 例如,http://[server]/[DocumentLibrary]/Forms/RenamedDispForm.aspx?ID=[1234]
结构与第一个示例完全不同.
所以,问题是 - 是否有一些简单的方法来找到SPListItem
它的URL?SPContext
从URL 重建一个很好.
编辑:刚刚发现可以SPSite
通过传递一个更长的URL 来构造一个有效的对象:
Dim oSite as New SPSite("http://server/sites/site/Lists/test/DispForm.aspx?ID=136")
Run Code Online (Sandbox Code Playgroud) sharepoint ×5
browser ×2
html ×2
security ×2
callstack ×1
css ×1
dispose ×1
indexing ×1
javascript ×1
join ×1
mysql ×1
performance ×1
php ×1
powershell ×1
splistitem ×1
string ×1
warnings ×1