我有一个自定义的信息路径工作流,允许用户提交expesne报告。每当有人在表单库中提交费用报告时,工作流就会启动。工作流会检查weburl,并使用通用方法创建指向工作流项的链接,然后将此链接以邮件形式发送给提交人和审批人。
现在我想要实现的是,我需要一种方法来指向使用公共url的工作流项目,因此,即使用户提交来自内部网或互联网的请求,链接也将指向互联网url,因此当内部网不可用时,用户可以使用互联网url从他们的邮箱中打开项目。
所以我想,简而言之,我需要一种方法来获得一个网站的公共url。还请记住,网站可能会扩展到互联网上,并有一些安全设置。要做到这一点,最简单、最有效的方法是什么?
发布于 2009-06-16 07:23:45
您的页面或链接的相对路径将是相同的,无论用户从哪个区域访问网站。您需要在URL中更改的只是主机名部分。
您可以使用以下代码获取任何区域的URL
SPContext.Current.Site.WebApplication.GetResponseUri(Microsoft.SharePoint.Administration.SPUrlZone.Default).AbsoluteUri发布于 2009-06-18 11:52:01
通过创建一个新的SPSite对象并在构造函数中为其指定区域,您可以确保始终从特定区域获取URL。在您的情况下,您可以尝试使用默认区域(例如,SharePoint在发送电子邮件时使用此区域中的URL)或互联网区域。下面是一个小示例:
using(SPSite site = new SPSite(currentSiteId, SPUrlZone.Default)
{
string publicUrl = site.MakeFullUrl(serverRelativeUrl);
// note that MakeFullUrl takes a server relative url not a site relative one
}发布于 2009-04-15 16:21:19
如果我理解您正在尝试的内容,您希望使用可通过internet访问的方法来访问SharePoint工作流对象。如果我错了,请纠正我。
下面是我要做的:我将设置一个简单的带有DNS的网站,该网站只有一个页面来公开工作流对象。这样,您就可以将此站点用作通知中链接的基础。
例如:我有一个HTML表单引擎,这是我前段时间写的。一位客户刚刚要求它也可以在互联网上访问。我在IIS中创建了一个新站点,反向代理了IP地址,瞧,我的intranet应用程序暴露在internet上了。当然,有一些安全问题和小的内联网问题需要处理,但不是太大。
希望这能有所帮助。
https://stackoverflow.com/questions/716799
复制相似问题