小编Mik*_*ike的帖子

在SharePoint 2010中部署自定义dll

我是SharePoint的新手,并试图解决这个问题.我有一个简单的Web部件项目.我还有一个自定义数据层项目,它使用Microsoft Enterprise Library进行数据访问.在Web部件项目中,我添加了对数据层项目程序集的引用.我在Web部件项目的包中指定了我希望部署数据层的程序集.我可以通过使用标准ADO.NET类而不是自定义MS库来验证这是有效的.如果我使用企业库部署到SharePoint服务器(我有100%访问权限),我会收到错误消息:

"无法加载文件或程序集'Microsoft.Practices.EnterpriseLibrary.Data"

我需要采取哪些步骤来确保此项目以及服务器上的所有未来项目都可以轻松访问企业库以进行数据访问?

谢谢!

sharepoint sharepoint-2010

18
推荐指数
1
解决办法
2万
查看次数

使用Linq将单个值返回到SQL

我正在学习Linq to SQL,我很难理解它.我试图简单地在C#中使用Linq查询返回单个(布尔值)值.

我想看看故事的所有者是否希望在添加新评论时发送电子邮件通知.我想包含Linq to SQL的方法返回一个布尔值.

 public bool NotifyOnComment(string username){
        var notify = (from s in db.AccountSettings
                      where s.UserName == username
                      select s.NotifyOnComment).DefaultIfEmpty(false);

        // clueless
    }
Run Code Online (Sandbox Code Playgroud)

更新:

我现在正在做以下事情:

var notify = (from s in db.AccountSettings
                      where s.UserName == username
                      select s.NotifyOnComment).SingleOrDefault();

        return (bool)notify;
Run Code Online (Sandbox Code Playgroud)

linq asp.net asp.net-mvc linq-to-sql

14
推荐指数
2
解决办法
3万
查看次数

一个大的存储库与许多小存储库?

我的数据库中有几个产品表:

  • ProductTypes
  • 产品类别
  • ProductCategoryItems
  • ProductInventory

我现在看到它的方式,我可以制作具有以下方法的IProduct:

  • FindAllTypes()
  • FindAllCategories(int typeId)
  • FindAllItems(int categoryId)

或者,我可以分别模仿表结构:IProductType,IProductCategory等.

是否有理由与另一个一起去?

c# architecture asp.net-mvc design-patterns

13
推荐指数
2
解决办法
1918
查看次数

什么时候在SharePoint中使用Web部件与完全成熟的ASP.NET应用程序?

我仍然在努力解决这个问题,因为我正在尝试使用来自ASP.NET Web Forms的SharePoint.我们希望仅出于几个原因使用SharePoint; 其中一个主要卖点是巩固我们的发展努力.因此,例如,今天我们有几个一次性网站,在几个服务器,IIS安装等等1-5页(小),似乎有点零散.

假设我需要一个小网站(1-5)页面.SharePoint处理这种情况的方法是什么?我是否创建了多个Web部件,然后在SharePoint中创建页面并将其插入或者我只是创建一个ASP.NET Web窗体应用程序并在SharePoint中提供链接吗?

谢谢!

更新

我没有去.基于反馈和其他研究,似乎应用程序页面正是我正在寻找的.这是一篇很好的文章:http://grounding.co.za/blogs/brett/archive/2008/07/13/sharepoint-the-role-of-a-web-part-vs-using-application-pages.aspx

asp.net sharepoint sharepoint-2007 sharepoint-2010

8
推荐指数
1
解决办法
3448
查看次数

单元测试REST API

我有一些单元测试和模拟的经验.在我有限的经验中,我将使用这两个来测试服务层,例如,模拟(stubbing?)数据库以消除依赖关系并专注于单元测试业务逻辑.

现在我正在创建一个将使用RESTful Web服务的包装器API实现.发回给我的json结果结构不在我手中,例如:Twitter.我只是构建客户端以与其api接口.我不确定如何对json结果进行单元测试.现在我只是用静态json结构模拟http请求的结果.这确保了json对我的pojos的反序列化是正确的,但我关注API的变化.如果api结构改变怎么办?如果api目前返回"title"并明天返回"groovy_title"怎么办?我的单元测试不会抓住那个.

从我的理解来看 - 单元测试应该很快.以前我会模拟数据库,现在我正在嘲笑http,但是我应该使用具体的http实现,所以我立即通知了一个突然的api更改?或者有更好的方法来解决这种情况吗?

rest json unit-testing mocking

8
推荐指数
1
解决办法
3556
查看次数

覆盖ASP.NET MVC 3中基本视图模型的属性

我有一个由两个不同页面共享的视图模型.除了一个属性外,视图模型非常相似:地址.视图模型包含名称和位置字段.但是,客户视图的地址标签应为:客户地址和员工视图的地址标签应为:员工地址.它们还将显示不同的错误消息.

这是我想要完成的简化版本:

public class BaseLocation
{
  [Display(Name="Your Name")]
  public string Name {get;set;}

  public virtual string Address {get;set;}
}

public class CustomerLocation : BaseLocation
{
  [Display(Name="Customer Address")]
  public override string Address {get;set;}
}

public class EmployeeLocation : BaseLocation
{
  [Display(Name="Employee Address")]
  public override string Address {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

然后我为基本位置创建了一个部分,如下所示:

@model BaseLocation
***ASP.NET MVC Helpers here: labels, text, validation, etc.
Run Code Online (Sandbox Code Playgroud)

最后,在Customer和Employee页面中,我将调用partial并将其发送给子类型.

Customer.cshtml
@model CustomerLocation
@Html.Render("_BaseLocation", Model)


Employee.cshtml
@model EmployeeLocation
@Html.Render("_BaseLocation", Model)
Run Code Online (Sandbox Code Playgroud)

结果是我不会看到特定类型的数据属性.例如,在客户页面中,我会得到一个"地址"标签而不是"客户地址".

我宁愿不为每种特定类型创建两个具有相同数据的部分,只是因为共享视图模型中的一个属性应该具有不同的标签和错误消息.最好的方法是什么?谢谢.

asp.net-mvc asp.net-mvc-3

7
推荐指数
1
解决办法
2368
查看次数

管理两个开发人员的sql更改脚本的最佳方法是什么?

到目前为止,我一直是我客户项目中的孤狼.任何时候我都会对SQL Server进行更改:表更新,存储过程等.我会生成更改脚本并将其放入目录中.当应用程序准备好发布时,我会在实时服务器上运行脚本并完成.

很快我将有另一个开发人员在同一个项目上工作.项目文件都在源代码管理中.我只是不确定如何处理更改脚本.我猜它们也应该受源代码控制?如果是这样,最好的命名约定是什么?我究竟如何确定下一个版本要执行哪些脚本?请记住,这是一个相当低调,非正式的Web项目,没有任何版本号或项目管理软件.

谢谢.

sql svn sql-server scripting

6
推荐指数
2
解决办法
1344
查看次数

如何正确处理n层应用程序中的错误?

从第1天开始,我一直在努力解决这个问题.我可能已经被很多甚至根本不处理错误的代码所包围.

无论如何,我正在使用传统的n层设计中的WebForms:UI-> BLL-> DAL.通常我所做的(我知道它不对)是尝试/捕获我的数据操作.如果有例外我只是把它扔到泡沫中.

try
'db operations
catch ex as exception
throw
finally
'close connections
end
Run Code Online (Sandbox Code Playgroud)

那么它会冒泡到BLL,并且还有另一个try/catch,我将记录错误.现在我想提醒用户有什么问题,所以我再次抛出它,这样它就会冒泡到用户界面.在UI级别,我将包装一个try/catch,如果有错误,我将向他们显示一条友好的消息.

你的想法是什么?我能在这做些什么?

.net asp.net error-handling webforms

6
推荐指数
1
解决办法
829
查看次数

哪个层的功能如下:缓存和日志记录属于哪个?

假设我的业务层当前包含一堆DTO和单独的服务类,以便与数据存储库进行通信.

例:

class PersonService
{
   IPersonRepository _personRepository;
   ILogging _logger;
   ICacheStorage _cache;
   // Constructor here to create concrete objects.

   public Person GetPersonById(int Id)
   {
       // error logging and caching here???
   }
}
Run Code Online (Sandbox Code Playgroud)

在这一层记录和缓存是否有意义?或者,应用服务层处理这些问题会更有意义吗?或者可能还有别的东西?

c# architecture design-patterns business-logic

6
推荐指数
1
解决办法
2734
查看次数

如何正确处理重要的未经检查的异常

我正在编写一个包装REST API的库.我正在创建的包装器使用GSON将json反序列化为我的对象.基本上,像这样......

public Post getPost(url) throws IOException {
  String jsonString = httpClient.get(url);
  Post p = gson.fromJson(jsonString, Post.class);
  // return Post to client and let client do something with it.
}
Run Code Online (Sandbox Code Playgroud)

如果我理解正确,IOException是一个经过检查的异常.我告诉我的客户:嘿,伙计 - 你最好注意并从这个例外中恢复过来.现在我的客户端可以在try/catch中包装调用,并确定在出现网络故障时该怎么做.

GSON fromJson()方法抛出JsonSyntaxException.我相信这在Java世界中是未经检查的,因为它的一个超类是RuntimeException,而且因为我不需要添加try/catch或像IOException这样的"throws".

假设我到目前为止所说的是正确的 - API和客户端究竟应该如何处理这种情况?如果json字符串是垃圾,我的客户端将由于JsonSyntaxException而失败,因为它未经检查.

// Client
PostService postService = new PostService();
try{
  Post p = postService.getPost(urlString);
  // do something with post
}catch (IOException){
   // handle exception
}
// ok, what about a JsonSyntaxException????
Run Code Online (Sandbox Code Playgroud)

处理这些情况的最佳方法是什么?

java exception-handling gson

6
推荐指数
1
解决办法
1425
查看次数