接收消息' System.InvalidOperationException',在SQL Server

时间:2015-08-25 19:48:30

标签: c# sql-server

我有一个网站,可以读取数据库中的多个表格。我可以显示数据,更新数据,通常我可以使用数据库,除了一个表。因为我可以读取其他表,所以它不能成为连接字符串。

完整的内部例外是......

  

超时已过期。在获得a之前经过了超时时间   从游泳池连接。这可能是因为所有人都集中了   正在使用连接并达到最大池大小。

使用标量值函数引用该表。

USE [DB]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE FUNCTION [dbo].[User_LogoRelativeUrl] 
(
    @userId int
)
RETURNS nvarchar(MAX)
AS
BEGIN
    DECLARE @result nvarchar(MAX)

    SELECT TOP 1 
        @result = RelativeUrl
    FROM Media
    WHERE UserId = @userId AND TypeId = 206

    RETURN ISNULL(@result, '')
END
GO

更新:这是主叫代码......

[global::System.Data.Linq.Mapping.FunctionAttribute (Name="dbo.User_LogoRelativeUrl", IsComposable=true)]
public string User_LogoRelativeUrl([global::System.Data.Linq.Mapping.ParameterAttribute(DbType="Int")] System.Nullable<int> userId)
{
    return ((string)(this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), userId).ReturnValue));
}

这是调用上面代码的代码......

public static string GetLogoRelativeUrl(int userId)
{
    OnlineDataContext context = new OnlineDataContext();          
    return context.User_LogoRelativeUrl(userId);
}

这是调用上面一个的方法......

public static string GetLogoDoctor(int DoctorId)
{
    string relativeUrl = string.Empty;

    relativeUrl = UserController.GetLogoRelativeUrl(DoctorId);
    MediaStatus status = MediaStatus.Unknown;
    string ImageUrl = string.Empty;
    if (!string.IsNullOrEmpty(relativeUrl))
        status = UserController.GetLogoStatus(DoctorId);
    if (string.IsNullOrEmpty(relativeUrl))
    {
        ImageUrl = "https://www.test.com/phh/images/logo.png";
    }
    else
    {
        ImageUrl = status == MediaStatus.Live ? Rei.TestOnline.Web.SiteUtility.CombineUrl(AppSettings.GetMediaSiteUrl(), relativeUrl) : "https://www.test.com/phh/images/logo.png";
    }
    return ImageUrl;
}

更新:我评论了这一行,一切正常,除了我当然没有得到徽标......

relativeUrl = UserController.GetLogoRelativeUrl(DoctorId);

我已使用Management Studio手动执行此功能,使用与连接字符串相同的符号,并且没有任何问题。

什么可能导致超时?

0 个答案:

没有答案