当前位置: 首页 > news >正文

SharePoint开发中常见的几种错误类型及解决方法!

在sharepoint开发中遇到的一些问题和解决方案

1.错误类型:

The security validation for this page is invalid. Click Back in your Web browser, refresh the page, and try your operation again.

解决方案:

Microsoft.SharePoint.Administration.SPWebApplication webApp = site.Site.WebApplication;
webApp.FormDigestSettings.Enabled = false;
SPFile spFile = site.Files.Add(fileUpload.FileName, contents);
spFile.Item.Update();
webApp.FormDigestSettings.Enabled = true;
web.AllowUnsafeUpdates = true;
site.AllowUnsafeUpdates = true;

2. 错误类型 :

在 sharepoint中报 未知错误

解决方案:

在该站点下的配置文件里面修改以下节点

1.<SafeMode MaxControls="200" CallStack="false" DirectFileDependencies="10" TotalFileDependencies="50" AllowPageLevelTrace="false">
改为:
<SafeMode MaxControls="200" CallStack="true" DirectFileDependencies="10" TotalFileDependencies="50" AllowPageLevelTrace="false">

2.<customErrors mode="On " /> 改为:<customErrors mode="Off " />

3.<compilation batch="false" debug="false ">改为; <compilation batch="false" debug="true ">

修改后就会把错误源显示出来,总比报"未知错误"好吧!

3. 错误类型 :

Unable to serialize the session state. In 'StateServer' and 'SQL Server' mode, ASP.NET will serialize the session state objects, and as a result non-serializable objects or MarshalByRef objects are not permitted. The same restriction applies if similar serialization is done by the custom session state store in 'Custom' mode.

解决 方案:

被 使用的类必须标记为可序列化!

4.错误类型 :

如果配置好的sharepoint,也在 同一个域,把用户加进了网站的成员组里面,但是该组里面的成员还是不能访问

解决方案:

请关闭防火墙。![如果报访问受限,则把成员加进网站的成员组里面]

4. 错误类型 :

Operation is not valid due to the current state of the object

解决方案:提升权限

SPSecurity.RunWithElevatedPrivileges(delegate() {

SPSite site = new SPSite(http://jianghao:9000 );

SPWeb web = site.OpenWeb();
using (site)

//...

});

或者:

private string GetPictureUrl(string loginName)
    {

SPSite site = null;
        SPWeb web = null;
        using (site = new SPSite(mySiteUrl))
        {
            using (web = site.RootWeb)
            {
                web.AllowUnsafeUpdates = true;
                ServerContext ctx = ServerContext.GetContext(site);
                UserProfileManager profileMgr = new UserProfileManager(ctx);
                if (HttpContext.Current != null)
                {
                    if (HttpContext.Current.Items["HttpHandlerSPWeb"] == null)
                    {
                        HttpContext.Current.Items["HttpHandlerSPWeb"] = web;
                    }
                    if (HttpContext.Current.Items["Microsoft.Office.ServerContext"] == null)
                    {
                        HttpContext.Current.Items["Microsoft.Office.ServerContext"] = ctx;
                    }
                }
                if (profileMgr.UserExists(loginName))
                {
                    //Microsoft.SharePoint.Portal.UserProfiles.UserProfile up =  upMan.GetUserProfile(loginName);
                    Microsoft.Office.Server.UserProfiles.UserProfile up = profileMgr.GetUserProfile(loginName);
                    if (!string.IsNullOrEmpty(up[PropertyConstants.PictureUrl].Value as string))
                    {
                        return up[PropertyConstants.PictureUrl].Value.ToString();
                    }
                    else
{ return “”; } }

注意,不能乱提升权限,因为提升权限后一切都是System Account用户的操作!比如是别人回复的博客和 Discussions 的回复人都是"System Account"这个人!这个当然是不对的了!

5.错误类型: Illegal characters in path. 【路径中非法字符。】

A: 在把UserControl配置到sharepoint里面时

<%@ Register src="~/_controltemplates/revolution9000/  [这里换行了]
GroupBlogPostInfo.ascx" tagname="GroupBlogPostInfo" tagprefix="uc1" %>
如果要换行,则可以在 tagname 那里换行!每个属性的值不能截断 这个问题太变态!找这个问题 郁闷惨了! 还是同事Bobby找到的,我可以没有那么好的耐心.

6.错误类型:Visual Studio 2008的代码度量和引用的程序集

在不同的创作后的今天早些时候的过程中,我偶然发现一个错误,同时使用代码度量在Visual Studio 2008的功能。 在点击 分析 菜单,然后点击 代码度量的计算解决方案 ,我遇到的解决方案在几个项目的错误类似于以下内容: 发生错误时计算目标文件『E代码度量:\ NotBackedUp \ ...'项目...下面的错误阅读时遇到模块'Microsoft.SharePoint':无法解析类型:?Ť?对象模型?。 英文错误:[Project: Revolution.WebSite
Configuration: Debug
Scope: None
Assembly: C:\Users\hao.jiang\Desktop\2010-01-06\kkjhjhjhjhjhjhjhjhjhk\SharePointObject\Revolution.WebSite\bin\Revolution.WebSite.dll
Maintainability Index:
Cyclomatic Complexity:
Depth of Inheritance:
Class Coupling:
Lines of Code:
Message: An error occurred while calculating code metrics for target fil 'C:\Users\hao.jiang\Desktop\2010-01-06\kkjhjhjhjhjhjhjhjhjhk\SharePointObject\Revolution.WebSite\bin\Revolution.WebSite.dll' in project Revolution.WebSite. The following error was encountered while reading module 'Microsoft.SharePoint': Could not resolve type: T ObjectModel.]

(不要问我,'?'字的意思应该是 - 我只是复制和粘贴从Visual Studio中直接完成。)
原来,这是在Visual Studio 2008已知的错误,由于默认设置,允许家属集会在一个项目中使用没有明确引用它们。

解决方法是明确的依赖程序集添加到项目。

引用后明确 Microsoft.SharePoint.Security到报错的项目里面!添加引用就可以了!

7.错误类型:

未能加载文件或程序集 “Microsoft.SharePoint.Library, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”或它的某一个依赖项。系统找不到指定的文件。

没有sharepoint环境!必需运行在装有sharepoint环境的机子运 行!

8. 错误类型:

浏览本机上 sharepoint网站:如http://jinho:9000 出现了Service Unavailable 错误![503]  我已经第二次遇到了!

打开server Manager,查看9000端口的服务是否启动!如果已开启还是出现了那个问题! 请在查看 application Pool[应用程序池] 很有可能是application Pools里面的9000端口的服务没有启动!右键启动即可

转载于:https://www.cnblogs.com/Little-Li/archive/2010/04/14/1712144.html

相关文章:

  • 实时内存数据库的数据管理
  • 主要城市公交路线下载Mono版(使用MonoDevelop开发)
  • 工业级开发中的一些常识
  • 第一个shell
  • Android环境搭建及相关命令
  • c# asp.net 日历控件(9)
  • 献给各位已婚者
  • 上海世博会园区进行首次试运行
  • SQL Server 数据库故障修复顶级技巧之一
  • Rose HA for SQL2008的安装之一
  • 服装企业的信息管理及主要对象
  • Team Fundation Server 2010 五
  • 自定义控件开发
  • 争夺NO.1........
  • 6666
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • Java IO学习笔记一
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • laravel with 查询列表限制条数
  • Redis学习笔记 - pipline(流水线、管道)
  • Redux 中间件分析
  • Selenium实战教程系列(二)---元素定位
  • Service Worker
  • 飞驰在Mesos的涡轮引擎上
  • 工作手记之html2canvas使用概述
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 悄悄地说一个bug
  • 巧用 TypeScript (一)
  •  一套莫尔斯电报听写、翻译系统
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 翻译 | The Principles of OOD 面向对象设计原则
  • ​【已解决】npm install​卡主不动的情况
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • (2.2w字)前端单元测试之Jest详解篇
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (论文阅读40-45)图像描述1
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • ***详解账号泄露:全球约1亿用户已泄露
  • *2 echo、printf、mkdir命令的应用
  • .form文件_一篇文章学会文件上传
  • .NET 8.0 发布到 IIS
  • .NET HttpWebRequest、WebClient、HttpClient
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .NET面试题(二)
  • .NET轻量级ORM组件Dapper葵花宝典
  • .net下简单快捷的数值高低位切换
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • .vue文件怎么使用_vue调试工具vue-devtools的安装
  • @ModelAttribute注解使用
  • @RequestBody的使用